1. 程式人生 > >solr 配置中文分析器/定義業務域/配置DataImport功能(測試用)

solr 配置中文分析器/定義業務域/配置DataImport功能(測試用)

span host utf-8 handle copy float jar包 rds blog

一、配置中文分析器
使用IKAnalyzer
配置方法:
1)把IK的jar包添加到solr工程中/WEB-INF/lib目錄下
2)把IK的配置文件擴展詞典,放到classpath下。/WEB-INF/classes目錄下
3)在schema.xml中定義FieldType,指定使用IK作為分析器

<!-- IKAnalyzer-->
    <fieldType name="text_ik" class="solr.TextField">
      <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
    </fieldType>

4)重啟tomcat
二、業務域的定義
1)創建數據庫
需要導入的字段:pid,name,catelog_name,price,description,picture
2)每個字段需要對應索引庫中的一個field
一條記錄對應一個Document,一個字段對應一個域

  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"/>


三、配置DataImport功能(測試用)
步驟:
1、把DataImport插件需要的jar包添加到solr中
solr-dataimporthandler-4.10.3.jar
solr-dataimporthandler-extras-4.10.3.jar
可以放到solrhome/Collection1/lib目錄下
2、需要mysql的數據庫驅動的jar包
可以放到Collection1/lib目錄下
3、需要在solrconfig.xml添加一個RequestHandler處理器

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


4、在solrconfig.xml配置文件所在的目錄添加一個data-config.xml文件
配置連接數據庫的連接串
查詢數據庫的sql語句
結果集和索引庫的映射關系

<?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="root"/>   
<document>   
    <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 配置中文分析器/定義業務域/配置DataImport功能(測試用)