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

 

posted @ 2018-08-24 09:04  MrDong先生  阅读(615)  评论(0编辑  收藏  举报