Solr学习总结(四)ik分词配置

下载地址:
http://files.cnblogs.com/files/zhangweizhong/ikanalyzer-solr5.zip

1.将ik的jar包copy到 solr/WEB-INF/lib 下

2.在solr_home/mydatacore/conf/managed-schema 文件中增加如下配置

"text_ik" class="solr.TextField">   
                   type="index" isMaxWordLength="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/>   
                   type="query" isMaxWordLength="true" class="org.wltea.analyzer.lucene.IKAnalyzer"/>   
         

3.同时,把需要分词的字段,设置为text_ik,便于搜索

"id" type="int" indexed="true" stored="true" required="true" multiValued="false" />
   "name" type="text_ik" indexed="true" stored="true" required="true" multiValued="false" />
   "title" type="text_ik" indexed="true" stored="true" required="true" multiValued="false" />
   "category" type="int" indexed="true" stored="true" required="true" multiValued="false" />
   "content" type="text_ik" indexed="true" stored="true" required="true" multiValued="false" />
   "price" type="double" indexed="true" stored="true" required="true" multiValued="false" />
   "color" type="string" indexed="true" stored="true" required="true" multiValued="false" />
   "orderBy" type="int" indexed="true" stored="true" required="true" multiValued="false" />
   "updatetime" type="date" indexed="true" stored="true" required="true" multiValued="false" />

4.配置IKAnalyzer分词器的扩展词典,停止词词典,将 文件夹下的IKAnalyzer.cfg.xml , ext.dic和stopword.dic 三个文件 复制到/webapps/solr/WEB-INF/classes 目录下,并修改IKAnalyzer.cfg.xml


      
    <properties>  
        <comment>IK Analyzer 扩展配置comment>
        
        <entry key="ext_dict">ext.dic;entry> 

        
        <entry key="ext_stopwords">stopword.dic;entry> 
    properties>

5.重启服务
注意:如果之前已经创建索引,需要将之前的索引删掉,重新创建分词后的索引

6.solr联合多个字段进行检索(multivalued和copyfield的使用)
在managed-schema文件中将需要检索的字段,使用copyField拷贝到一个新的searchText的field中,并设置这个searchText field的multivalue属性为true即可。

  "query_field" type="text_ik" indexed="true" stored="false" multiValued="true"/>
  source="industryField" dest="query_field"/>
  source="companyName" dest="query_field"/>
  source="city" dest="query_field"/>
  source="category" dest="query_field"/>
 <requestHandler name="/select" class="solr.SearchHandler">
    
    <lst name="defaults">
      <str name="echoParams">explicitstr>
      <int name="rows">10int>
      
      
    lst>

你可能感兴趣的:(solr)