美文网首页
8、Solr服务器搭建、搜索功能实现

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

作者: 海豚的小小海 | 来源:发表于2018-01-13 20:34 被阅读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

相关文章

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

    1 Solr是什么 Solr 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索...

  • 第十篇:基于Solr服务搭建搜索工程

    前言:上面我们已经搭建好了Solr服务器,现在我们要利用这个Solr服务来搭建我们的搜素服务工程 1.创建搜索服务...

  • 无标题文章

    一、启动solr 1.通过实现配置好的techproducts示例内核启动solr搜索服务器 ```bin/sol...

  • web整合Solr

    1..Solr案例实战 1.1.需求 使用Solr实现电商网站中商品信息搜索功能,可以根据关键字、分类、价格搜索商...

  • solr

    何为solr solr是java搜索引擎Lucene的更高一层封装,通过webapp服务器实现可视化界面,方便使用...

  • 如何使用MapReduce构建Solr索引

    Solr 是什么? Solr 是一个开源的企业级搜索服务器,底层使用易于扩展和修改的 Java 来实现。服务 器通...

  • 搜索引擎[solr和elasticsearch]

    一、solr Solr是一个基于Lucene的Java搜索引擎服务器。Solr 提供了层面搜索、命中醒目显示并且支...

  • Solr 原理篇

    Solr和ElasticSearch一样,都是基于Lucene的搜索服务器。 Solr 在传统的搜索应用中表现好于...

  • javaweb使用solr实现搜索功能

    需求明确,原应用使用mysql数据库,基本功能CRUD,增加一个搜索功能。数据库名wenda,下有一个questi...

  • 搜索学习--Elasticsearch全文搜索服务器的基本使用

    前言 之前我们使用Solr全文搜索服务器来建立我们自己的搜索,本篇文章将介绍跟Solr类似的另一种搜索服务器——E...

网友评论

      本文标题:8、Solr服务器搭建、搜索功能实现

      本文链接:https://www.haomeiwen.com/subject/hhchoxtx.html