Solr全文检索

时间:2022-12-12 19:11:18

1.Solr的安装

.环境要求
jdk1.+tomcat8+solr5.5.0
.将以上的软件包上传到服务器
.
安装tomcat8(解压文件)
tar -zxvf apache-tomcat-8.5..tar.gz
.
解压solr
tar -zxvf solr-5.5..tgz .将solr的服务拷贝到tomcat的webapps下
cp -r solr-5.5./server/solr-webapp/webapp/* tomcat8/webapps/solr
.需要将solr需要日志的jar拷贝到tomcat8/webapp/solr/WEB-INF/lib
cp -r solr-5.5./server/lib/ext/*.jar tomcat8/webapps/solr/WEB-INF/lib
.需要将日志的log4j配置文件拷贝到项目中
mkdir -p tomcat8/webapps/solr/WEB-INF/classes
cp -r solr-5.5./server/resource/log4j.properties tomcat8/webapps/WEB-INF/classes
.配置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./server/solr/* /root/solr/solr-home .启动tomcat
tomcat8/bin/startup.sh .http://192.168.137.129:/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