8、Solr服务器搭建、搜索功能实现

2018-01-13  本文已影响0人  海豚的小小海

1 Solr是什么

Solr 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务器。Solr提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展,并对索引、搜索性能进行了优化。

Lucene是一个工具包,带有很多API,直接调用即可。

Solr基于Lucene开发的全文检索服务器,只需要进行配置就可以进行全文检索,可以独立运行。

2 Solr的安装及配置

Solr版本:4.10.3

2.1 安装步骤

第一步:安装Linux、jdk、tomcat。

第二步:把solr压缩包上传服务器,解压。

第三步:把/root/solr-4.10.3/dist/solr-4.10.3.war包部署到tomcat下。并改名为solr.war。

第四步:解压war包。启动tomcat自动解压。关闭tomcat。删除solr.war。

第五步:把/root/solr-4.10.3/example/lib/ext目录下所有的jar包复制到solr工程中。

[root@taotao-solr ext]# cp * /usr/local/solr/tomcat/webapps/solr/WEB-INF/lib/

第六步:创建solrhome。Solrhome是存放solr服务器所有配置文件的目录。

第七步:告诉solr服务器Solrhome的位置。
需要修改solr工程的web.xml文件。


web.xml.png

第八步:启动tomcat

---启动tomcat
cd /usr/local/solr/tomcat/bin/startup.sh
---关闭tomcat
cd /usr/local/solr/tomcat/bin/shutdown.sh
---查看tomcat服务是否启动
tail -f logs/catalina.out

需要把8080端口开放

启动成功直接在真机输入ip地址:8080访问

2.2 配置业务字段

在solr中默认是中文分析器,需要手工配置。配置一个FieldType,在FieldType中指定中文分析器。

Solr中的字段必须先定义后使用。

2.2.1 中文分析器的配置

第一步:使用IK-Analyzer。把分析器的文件夹上传到服务器。

第二步:把分析器需要用到的jar包添加到solr工程中去。

第三步:需要把IKAnalyzer需要的扩展词典及停用词词典、配置文件复制到solr工程的classpath。

---/usr/local/solr/tomcat/webapps/solr/WEB-INF/classes

[root@bogon IK Analyzer 2012FF_hf1]# cp IKAnalyzer.cfg.xml ext_stopword.dic 
mydict.dic /usr/local/solr/tomcat/webapps/solr/WEB-INF/classes

注意:扩展词典及停用词词典的字符集必须是utf-8。不能使用windows记事本编辑。

第四步:配置FieldType。需要在solrhome/collection1/conf/schema.xml中配置

2.2.2 业务字段的配置

业务字段判断标准
1、在搜索时是否需要在此字段上进行搜索,如:商品名称、商品卖点、商品描述。
2、后续的业务是否需要用到此字段,如:商品 id 。

3 维护索引库

添加:添加一个json格式的文件就可以。

添加 json.png

修改:在solr中本没有update,只需要添加一个新的文档,要求文档 id 与被修改文档的 id 一致。原理是先删除后添加。

删除:使用 xml 格式。

删除 xml.png

删除的两种方法:一定要加commit
1、根据 id 删除

<delete>
<id>change.me</id>
</delete>
<commit/>

2、根据查询删除

<delete>
 <query>*:*</query>
</delete>
<commit/>

查询

查询.png
上一篇 下一篇

猜你喜欢

热点阅读