文章目录
- 一、什么是Solr?
- 二 、数据库本身就支持搜索啊,干嘛还要搞个什么solr?
- 三、如果我们想要使用solr那么首先我们得安装它
一、什么是Solr?
其实我们大多数人都使用过Solr,也许你不会相信我说的这句话,但是事实却是如此啊 ! 每当你想买自己喜欢的东东时,你可能会打开某宝或者某东,像这样一搜,就能搜到很多东西,你知道你看到的这些数据都来自哪儿吗?百度一下你就知道!这些数据来自哪儿吗?等你了解完Solr后你就知道答案啦!
现实生活中我们都知道大多数网站或应用都必须具有某种搜索功能,问题是搜索功能往往是巨大的资源消耗并且它们由于沉重的数据库加载而拖垮你的应用的性能。
这就是为什么转移负载到一个外部的搜索服务器是一个不错的主意,Apache Solr是一个流行的开源搜索服务器,它通过使用类似REST的HTTP API,这就确保你能从几乎任何编程语言来使用solr。
Solr是一个开源搜索平台,用于构建搜索应用程序。 它建立在Lucene(全文搜索引擎)之上。 Solr是企业级的,快速的和高度可扩展的。 使用Solr构建的应用程序非常复杂,可提供高性能。
为了在CNET网络的公司网站上添加搜索功能,Yonik Seely于2004年创建了Solr。并在2006年1月,它成为Apache软件基金会下的一个开源项目。并于2016年发布最新版本Solr 6.0,支持并行SQL查询的执行。
Solr可以和Hadoop一起使用。由于Hadoop处理大量数据,Solr帮助我们从这么大的源中找到所需的信息。不仅限于
搜索,Solr也可以用于存储目的。像其他NoSQL数据库一样,它是一种非关系数据存储和处理技术。
总之,Solr是一个可扩展的,可部署,搜索/存储引擎,优化搜索大量以文本为中心的数据。
二 、数据库本身就支持搜索啊,干嘛还要搞个什么solr?
-
其实正如上面solr的介绍中所说的那样,solr本身也可以看成数据库,(no sql类型),但它比数据库搜索速度更快,所以在项目中我们一般把搜搜的部分交给solr,就像我们在京东首页所看到的商品信息,并不是来自数据库,而是来源于sorl的索引库
-
数据库本身不能实现分词效果,而只能使用模糊查询,但是模糊查询非常低效,查询速度比较慢,由于在实际生活中,一般搜索是用的比较多的,这样数据库压力自然就很大,所以我们就让供专业的solr来做搜索功能
三、如果我们想要使用solr那么首先我们得安装它
-
由于solr是以java开发而成,所以必须在jdk环境中运行。(配置 JAVA_HOME 这里就不具体介绍了)
-
下载并解压 solr,官网 https://lucene.apache.org/solr,我们直接附上最新版链接( solr-8.6.1.zip )
-
解压后打开solr文件夹进bin目录,在地址框输入cmd 回车 此时弹出命令行
-
输入solr.cmd start 命令开启solr服务
-
打开浏览器输入https://localhost:8983/solr 下文附上全部图解
-
创建 code 核心并添加 conf 配置文件
-
-
solr官网
- 解压后打开solr文件夹进bin目录,在地址框输入cmd 回车 此时弹出命令行
- 输入solr.cmd start 命令开启solr服务
- 看到下面这个界面说明solr安装成功啦!
- 创建 code 核心并添加 conf 配置文件
创建后找到 server\solr\ 创建核心新建的文件夹
从 solr-7.7.2\example\example-DIH\solr\solr 中找到配置文件复制到新建文件夹
7.重启服务
8.显示以下界面表示核心创建成功啦!
9.一起来试试吧!
10.查询成功
但是由于这个东西是外国人写的,再加上博大精深的中华文化,solr对于中文的分词效果非常糟糕,不能很好的分词,就不能建立一个很好的索引库,也就不能提供好的搜索服务.于是我们中国人基于solr自己写了个分词器,终于能够愉快的使用solr了。