Centos安装Solr7.4+IK7.4

Solr简介

  • Solr 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务器。Solr提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展,并对索引、搜索性能进行了优化。
  • Solr可以独立运行,运行在Jetty、Tomcat等这些Servlet容器中,Solr 索引的实现方法很简单,用 POST 方法向 Solr 服务器发送一个描述 Field 及其内容的 XML 文档,Solr根据xml文档添加、删除、更新索引 。Solr 搜索只需要发送 HTTP GET 请求,然后对 Solr 返回Xml、json等格式的查询结果进行解析,组织页面布局。Solr不提供构建UI的功能,Solr提供了一个管理界面,通过管理界面可以查询Solr的配置和运行情况。
  • Solr是基于lucene开发企业级搜索服务器,实际上就是封装了lucene。
  • Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的文件,生成索引;也可以通过提出查找请求,并得到返回结果
  • Solr类似webservice,调用接口,实现增加,修改,删除,查询索引库。

安装Solr

  • Solr官网下载solr-7.4.0.tgz。

  • 解压solr-7.4.0.tgz

tar -zxvf  solr-7.4.0.tgz
  • 进入solr-7.4.0/bin目录下启动Solr
./solr start -force
  • 浏览器打开Solr Admin 管理页面

这里写图片描述

配置IK分词

  • 到github的ik官方下载ik分词器,并解压出来,加到solr-7.4.0\server\solr-webapp\webapp\WEB-INF\lib

这里写图片描述

  • 在solr-7.4.0\server\solr-webapp\webapp\WEB-INF目录下新建一个classes目录,加入官方所说的配置文件

这里写图片描述

添加solr core

  • 在solr-7.4.0/server/solr目录下创建new_core目录
  • 复制solr-7.4.0/server/solr/configsets/_default下的conf文件夹到solr-7.4.0/server/solr/new_core/下

这里写图片描述

  • 在页面添加new_core,添加成功后/solr-7.4.0/server/solr/new_core/下会多两个东西(core.properties文件、data目录)

这里写图片描述

导入数据库中的数据到Solr中

  • 在/solr-7.4.0/server/solr/new_core/conf目录下创建一个文件data-config.xml,与solrconfig.xml同级,配置相关的数据库属性,即我们要导入那张表的哪些字段
<?xml version="1.0" encoding="UTF-8"?>
<dataConfig>
    <dataSource name="source1" type="JdbcDataSource"
              driver="com.mysql.jdbc.Driver"
              url="jdbc:mysql://192.168.0.152:3306/enterprise_assist_test"
              user="root"
              password="******"
              batchSize="-1" />
    <document>
        <entity name="service_info" dataSource="source1"
            query="SELECT id,title,business_type_id,category_id , service_price , service_time,service_desc,service_area,
            cover,create_by,create_date,del_flag FROM service_info">

            <field column='id' name='id' />
            <field column='title' name='title' />
            <field column='business_type_id' name='business_type_id' />
            <field column='category_id' name='category_id' />
            <field column='service_price' name='service_price' />
            <field column='service_time' name='service_time' />
            <field column='service_desc' name='service_desc' />
            <field column='service_area' name='service_area' />
            <field column='cover' name='cover' />
            <field column='create_by' name='create_by' />
            <field column='create_date' name='create_date' />
            <field column='del_flag' name='del_flag' />
        </entity>
    </document>
</dataConfig>
  • 修改solrconfig.xml文件,在<requestHandler name="/select"
    class="solr.SearchHandler">
    上放增加以下这段代码。
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
       <lst name="defaults">
          <str name="config">data-config.xml</str>
       </lst>
</requestHandler>
  • 修改solr-7.4.0/server/solr/new_core/conf/managed-schema文件,将刚才在data-config.xml中配置的标签添加进来,并配置IK分词
    <field name='id' type="string" indexed="true" stored="true"/>
    <field name='title' type="text_ik" indexed="true" stored="true"/>
    <field name='business_type_id' type="string" indexed="true" stored="true"/>
    <field name='category_id' type="string" indexed="true" stored="true"/>
    <field name='service_price' type="string" indexed="true" stored="true"/>
    <field name='service_time' type="string" indexed="true" stored="true"/>
    <field name='service_desc' type="text_ik" indexed="true" stored="true"/>
    <field name='service_area' type="text_ik" indexed="true" stored="true"/>
    <field name='cover' type="string" indexed="true" stored="true"/>
    <field name='create_by' type="string" indexed="true" stored="true"/>
    <field name='create_date' type="string" indexed="true" stored="true"/>
    <field name='del_flag' type="string" indexed="true" stored="true```

    <!-- ik分词器 -->
    <fieldType name="text_ik" class="solr.TextField">  
        <analyzer type="index" useSmart="false"
            class="org.wltea.analyzer.lucene.IKAnalyzer" />
        <analyzer type="query" useSmart="true"
            class="org.wltea.analyzer.lucene.IKAnalyzer" />
    </fieldType>

这里写图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Radom7

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值