Solr全文检索
1.Solr的安装
- 1.环境要求
- jdk1.7+tomcat8+solr5.5.0
- 2.将以上的软件包上传到服务器
- 3.
- 安装tomcat8(解压文件)
- tar -zxvf apache-tomcat-8.5.24.tar.gz
- 4.
- 解压solr
- tar -zxvf solr-5.5.0.tgz
- 1.将solr的服务拷贝到tomcat的webapps下
- cp -r solr-5.5.0/server/solr-webapp/webapp/* tomcat8/webapps/solr
- 2.需要将solr需要日志的jar拷贝到tomcat8/webapp/solr/WEB-INF/lib
- cp -r solr-5.5.0/server/lib/ext/*.jar tomcat8/webapps/solr/WEB-INF/lib
- 3.需要将日志的log4j配置文件拷贝到项目中
- mkdir -p tomcat8/webapps/solr/WEB-INF/classes
- cp -r solr-5.5.0/server/resource/log4j.properties tomcat8/webapps/WEB-INF/classes
- 4.配置solrHome(存放索引)
- mkdir solr-home
- vi tomcat8/webapps/solr/WEB-INF/web.xml
- 打开如下配置
- <env-entry>
- <env-entry-name>solr/home</env-entry-name>
- <env-entry-value>/put/your/solr/solr-home</env-entry-value>
- <env-entry-type>java.lang.String</env-entry-type>
- </env-entry>
- 拷贝solr的配置文件到solr-home
- cp -r solr-5.5.0/server/solr/* /root/solr/solr-home
- 5.启动tomcat
- tomcat8/bin/startup.sh
- 6.http://192.168.137.129:8080/solr/admin.html
2.核心概念
1.Solr服务器—->理解为数据库
2.核—->表
3.field—->表中字段
3.创建核
1.在solr-home下创建一个目录(目录名随意,例如t_item)
2.拷贝核中所需要的配置文件(solr-home下configsets里面) : cp -r configsets/sample-techproducts-configs/* t_item
4.系统界面操作
1.新增和修改(id在索引库中存在就是修改,不存在就是新增): {“id”:”change.me”,”title”:”change.me”}
id必须存在,可以理解为主键,key必须先配置(managed-schema)再使用
2.删除使用xml
<delete>
<id>change.me</id>
</delete>
<commit/>
5.Java中操作Solr
- 1.添加依赖
- <dependency>
- <groupId>org.apache.solr</groupId>
- <artifactId>solr-solrj</artifactId>
- <version>5.5.0</version>
- </dependency>
- 2.使用API
- 1.获取和服务器连接
- String baseURL = "http://192.168.137.129:8080/solr/t_item"; //服务器地址,最后一个表示核
- SolrClient solrClient = new HttpSolrClient(baseURL);
- 2.调用
- solrClient中的增删改查操作
6.Solr添加域
- 1.需要在solr-home,找到对应的核的目录,conf/managed-schema
- vi conf/managed-schema
- <!--配置自定义的域-->
- <field name="content_ik" type="text_ik" indexed="true" stored="true"/>
- <fieldType name="text_ik" class="solr.TextField">
- <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"></analyzer>
- </fieldType>
- 2.将IK分词器拷贝到tomcat8/webapps/solr/WEB-INF/lib
- cp ik-analyzer-5.3.0.jar tomcat8/webapps/solr/WEB-INF/lib
- 3.重启服务器
- IK分词器需要添加扩展词典
- 将配置文件IKAnalyzer.cfg.xml和词典上到 tomcat8/webapps/solr/WEB-INF/classes