• 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
  • 相关阅读:
    Python 模块 itertools
    Python 字符串的encode与decode
    python 模块 hashlib(提供多个不同的加密算法)
    暴力尝试安卓gesture.key
    hdu 1300 Pearls(DP)
    hdu 1232 畅通工程(并查集)
    hdu 1856 More is better(并查集)
    hdu 1198 Farm Irrigation(并查集)
    hdu 3635 Dragon Balls(并查集)
    hdu 3038 How Many Answers Are Wrong(并查集)
  • 原文地址:https://www.cnblogs.com/MrXiaoAndDong/p/Solr.html
Copyright © 2020-2023  润新知