• solr服务中集成IKAnalyzer中文分词器、集成dataimportHandler插件


    昨天已经在Tomcat容器中成功的部署了solr全文检索引擎系统的服务;今天来分享一下solr服务在海量数据的网站中是如何实现数据的检索。

     在solr服务中集成IKAnalyzer中文分词器的步骤:

    1、下载IKAnalyzer分词器的压缩包并解压;

    2、将IKAnalyzer压缩包中的jar包复制到Tomcat容器中已经部署的solr项目中的WEB-INF/lib目录下;

    3、在Tomcat容器的solr项目中的WEB-INF/目录创建一个classes目录(默认该目录是不存在的,需手动创建),并将分词器压缩包中的配置文件、自定义词典、通用词典三个文件拷贝到classes目录中;

    4、找到solr的家目录,即solrHome目录,修改solrHome/collection1/conf/schema.xml文件中定义IK域的类型、定义自定义域配置内容;

      <!-- IKAnalyzer-->
        <fieldType name="text_ik" class="solr.TextField">
        <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
        </fieldType>
    
        <!--IKAnalyzer Field-->
        <field name="content_ik" type="text_ik" indexed="true" stored="true" />

    5、重新启动Tomcat容器,检验是否配置成功,如果出现以下界面中的内容,则集成成功,可以看到我们刚才在solrHome的配置文件中配置的自定义域和IK域的类型。

    使用dataimportHandler插件批量导入数据,在solr服务中集成dataimportHandler插件的步骤:

    1、找到solrHome/collection1目录,创建一个lib目录,将插件所依赖的jar包和数据库驱动包拷贝到lib目录下(dataimportHandler插件依赖的jar包可以在下载好的solr压缩包中找到);

    插件依赖的jar包在dist目录下:

    2、找到solrHome/collection1/conf/solrconfig.xml文件,添加如下配置内容:

      <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
      <lst name="defaults">
      <str name="config">data-config.xml</str>
      </lst>
      </requestHandler>

    3、根据创建的数据表在solrHome/collection1/conf/schema.xml配置文件中配置业务域(温馨提示:业务域根据数据表的字段名称来配置);

       <!--product-->
        <field name="product_name" type="text_ik" indexed="true" stored="true"/>
        <field name="product_price"  type="float" indexed="true" stored="true"/>
        <field name="product_description" type="text_ik" indexed="true" stored="false" />
        <field name="product_picture" type="string" indexed="false" stored="true" />
        <field name="product_catalog_name" type="string" indexed="true" stored="true" />
    
        <field name="product_keywords" type="text_ik" indexed="true" stored="false" multiValued="true"/>
        <copyField source="product_name" dest="product_keywords"/>
        <copyField source="product_description" dest="product_keywords"/>

    4、需要创建一个文件名称为data-config.xml的配置文件,并且拷贝到solrHome/collection1/conf目录下;data-config.xml文件中的配置内容如下(温馨提示:根据自己的需求的来添加配置内容,如数据库连接的参数信息,数据库中表字段的名称等):

    <?xml version="1.0" encoding="UTF-8" ?>
    <dataConfig>
    <dataSource type="JdbcDataSource"   
              driver="com.mysql.jdbc.Driver"   
              url="jdbc:mysql://localhost:3306/solr"   
              user="root"   
              password="123"/>

    <document>
      <!-- column代表数据表中的字段名称,name代表配置文件中的业务域的name属性值名称 --> <entity name="product" query="SELECT pid,name,catalog_name,price,description,picture FROM products "> <field column="pid" name="id"/> <field column="name" name="product_name"/> <field column="catalog_name" name="product_catalog_name"/> <field column="price" name="product_price"/> <field column="description" name="product_description"/> <field column="picture" name="product_picture"/> </entity> </document> </dataConfig>

     5、重启Tomcat容器,检验插件是否集成成功,如果集成成功,则会看到如下界面,看到成功界面后,就可以导入指定数据表中的数据,导入操作在下图中已表明:

     [后续会更新京东站内搜索-solr架构案例,有需要的朋友可以继续关注!!!]

  • 相关阅读:
    Cmd Markdown 公式指导手册
    ubuntu 21.10 上的一些必备库的安装 opengl, opencv
    MarkDown 数学公式
    免费代理IP地址列表
    pyexecl的使用
    磁盘IO满负荷性能分析
    DRM 简介
    Oracle修改字符集ORA02374,ORA12899,ORA02372
    oracle grid修改ip
    Oracle性能问题一般排查方法
  • 原文地址:https://www.cnblogs.com/1315925303zxz/p/6250238.html
Copyright © 2020-2023  润新知