Solr安装与简单应用

简单介绍:

Solr是一种开放源码的、基于Lucence java的 搜索服务器,易于加入到Web应用程序中。它只是把对Lucene索引的调用和管理做了一个REST风格的封装。Solr提供了层面搜索、命中醒目显示并且支持多种输出格式(xml、json等)。它易于安装和配置并且附带了一个基于http的管理界面。可以把Solr看成类似mysql一样的数据库,在配置文件中定义表结构,通过HTTP协议的GET方式查询Solr管理的索引库。

基本特性:

*高级的全文搜索功能
*综合的HTML管理页面
*具有很强的可伸缩性,能够有效的复制到另一个solr搜索服务器
*使用xml配置达到灵活性和适配性
*可扩展的插件系统

Solr的完整分布结构图


从图中可以很明显的看出solr服务器的工作原理:Solr有一套自己的索引库(索引库中的数据是通过网络爬虫等途径获取到的数据存储到索引库中,检测到有改动便会更新自己的索引库,但是检测和获取数据的频率不会太频繁以免对被检测网络造成负担,因为一旦被检测网址采取一定防御措施后就会取不到数据。)用户通过界面发送http搜索请求,便可从solr的索引库中返回给用户所需要的类型的搜索结果。

基本用法

1、Solr自身由服务器端和客户端组成。服务器端提供搜索服务,客户端提供Web界面开发支持。

2、linux上安装solr单机版的简单步骤:

1)前提:系统中安装jdk、tomcat
2)把solr的安装包拷贝到Linux上,并进行解压。(以我安装的solr-4.10.3为例)
解压:tar -zxfv solr-4.10.3.tgz.tgz
3)将solr-4.10.3.tar(在solr-4.10.3/dist/文件夹下)拷贝到tomcat的webapps下并运行tomcat将solr-4.10.3.war进行解压。
 cp -r solr-4.10.3.war /usr/local/solr/tomcat/webapps
解压成功之后就可以把solr-4.10.3.war删掉了。
4)拷贝/root/solr-4.10.3/example/lib/ext 目录下所有的jar包添加到solr工程(tomcat/webapps/solr/WEB-INF/lib)中。
5)创建solrhome。并把root/solr-4.10.3/example/solr文件复制一份作为solrhome
 mkdir solrhome
 cp -r solr /usr/local/solr/solrhome
6)修改tomcat/webapps/solr/WEB-INF中web.xml,告诉solr服务solrhome在什么地方。
 vim web.xml


7)启动tomcat(./startup.sh)
此时,便可以访问tomcat:http://192.168.33.**:8083/(以小编的为例)

8)关闭防火墙:sudo systemctl stop firewalld.service

此时,便可以访问solr:http://192.168.33.**:8083/solr(以小编的为例)

此时可以看到collection1里面一些默认的分析器:

3、当然,也可以配置中文分析器、进行自定义业务域

1)添加IKAnalyzer依赖的jar包到solr工程中。把分析器使用的扩展词典添加到classpath中。
2)添加自定义的FieldType(小编自定义了一个中文分析器:text_ik)
需要对solrhome/collection1/conf下的schema.xml进行编辑
 vim schema.xml
在文件尾部添加自定义的fieldtype

并指定字段属性:

3)重启tomcat即可生效:


实践效果:(以“产品测试通过”为例进行搜索分析)

基本原理就是这样:通过对输入的待搜索文字的分析,最终呈现给用户的是分析结果。也就是将整个待解析的语段进行拆分或标注。

简单的代码实践:

1)首先在工程中引入所需要的jar:solr-solrj-4.10.3.jar(版本并不唯一,具体情况具体分析)
2)将待搜索字段添加到索引库:

3)查询结果:

4)同时,还可以对搜索结果中的重要字段进行突出显示(高亮显示)


你可能感兴趣的:(Solr安装与简单应用)