Solr
Posted shiliuhuanya
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Solr相关的知识,希望对你有一定的参考价值。
一、Solr原理
1)什么是solr?
是一个appache全文检索引擎系统 war包 部署在tomact 上 就能运行
solrj 远程调用solr 服务器 完成对索引库的操作 底层使用lucene编写
2) 作用
solr本身也可以看成数据库,(no sql类型),但它比数据库搜索速度更快,所以在项目中我们一般把搜索部分交给solr,就像我们在京东首页所看到的商品信息,并不是来自数据库,而是来源于sorl的索引库
数据库本身不能实现分词效果,而只能使用模糊查询,但是模糊查询非常低效,查询速度比较慢,由于在实际生活中,一般搜索是用的比较多的,这样数据库压力自然就很大,所以我们就让供专业的solr来做搜索功能
对于大量数据的查询 主要用于大型互联网项目
切分词 :将一句话 切分成一个一个的词 去掉停用词 的 a an 地 得
二、 Solr安装
注意:需要提前配置好linux下的java环境 我们将所需要的压缩包都放在/usr/local/solr中
分别是:apache-tomcat-7.0.47.tar.gz solr-4.10.3.tar
一:安装Tomcat(直接将我们的tomcat解压包解压即可)
tar -zxvf apache-tomcat-7.0.47.tar.gz ./ (将压缩包解压到当前文件夹)
cd /usr/local
mv apache-tomcat-8.5.15/ tomcat (将文件名改为tomcat)
二:解压solr-4.10.3.tar
tar -zxvf solr-4.10.3.tar .tar.gz ./
1 .将example中solr.war文件放再tomcat的webapps中
[root@hostname solr]# cp solr-4.10.3/example/webapps/solr.war tomcat/webapps/
2. 打开tomcat
[root@hostname solr]# sh tomcat/bin/startup.sh
3. 关闭tomacat
[root@hostname solr]# sh tomcat/bin/shutdown.sh
4.删除tomcat webapps中的solr.war包 防止每次运行tomcat时重复运行
[root@hostname webapps]# rm -rf solr.war
5.将solr中的jar包放入tomcat项目中的lib包中
[root@hostname solr]# cp solr-4.10.3/example/lib/ext/* tomcat/webapps/solr/WEB-INF/lib/
6.将solr文件夹 复制到usr/local/solr中
[root@hostname solr]# cp -r solr-4.10.3/example/solr ./
7改名为solrhome
[root@hostname solr]# mv solr solrhome
8.更改项目中web.xml文件
[root@hostname solr]# vim tomcat/webapps/solr/WEB-INF/web.xml
9.将env-entry标签中修改路径 改为solrhome的路径
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/usr/local/solr/solrhome</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
之后打开tomcat 访问项目
http://IP:8080/solr/
以上是关于Solr的主要内容,如果未能解决你的问题,请参考以下文章
Solr 高亮是不是还可以指示返回的片段在原始字段中的位置或偏移量?
Solr Highlighting:如何为同一字段请求多个片段长度?