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

来源:互联网 发布:java多线程实现同步 编辑:程序博客网 时间:2024/05/19 19:31

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

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

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

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

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

<field name="id" type="int" indexed="true" stored="true" required="true" multiValued="false" />   <field name="name" type="text_ik" indexed="true" stored="true" required="true" multiValued="false" />   <field name="title" type="text_ik" indexed="true" stored="true" required="true" multiValued="false" />   <field name="category" type="int" indexed="true" stored="true" required="true" multiValued="false" />   <field name="content" type="text_ik" indexed="true" stored="true" required="true" multiValued="false" />   <field name="price" type="double" indexed="true" stored="true" required="true" multiValued="false" />   <field name="color" type="string" indexed="true" stored="true" required="true" multiValued="false" />   <field name="orderBy" type="int" indexed="true" stored="true" required="true" multiValued="false" />   <field name="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

<?xml version="1.0" encoding="UTF-8"?>    <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">      <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即可。

  <field name="query_field" type="text_ik" indexed="true" stored="false" multiValued="true"/>  <copyField source="industryField" dest="query_field"/>  <copyField source="companyName" dest="query_field"/>  <copyField source="city" dest="query_field"/>  <copyField source="category" dest="query_field"/>
 <requestHandler name="/select" class="solr.SearchHandler">    <!-- default values for query parameters can be specified, these         will be overridden by parameters in the request      -->    <lst name="defaults">      <str name="echoParams">explicit</str>      <int name="rows">10</int>      <!-- Default search field      设置查询字段,默认是text,修改成query_field         <str name="df">text</str>          <str name="query_field"</str>        -->      <!-- Change from JSON to XML format (the default prior to Solr 7.0)         <str name="wt">xml</str>         -->    </lst>
阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 浙一医院体检套餐 浙一医院儿科 浙一医院消化内科 浙一整形美容 浙一医院体检中心 浙一医院网上 浙一医院肛肠科 浙一医院专家 浙一医院神经内科医生 浙一医院周日门诊 浙一医院脑科 浙一医院在线 浙一医院电话咨询 浙一医院咨询 浙一医院拔牙 浙一医院 住院 浙一医院皮肤科专家门诊 浙一医院病房 浙一医院体检价格 浙一医院主页 浙一医院甲状腺专家 浙一医院网址 浙江大学第一附属医院 浙医一院专家门诊表 浙医一院 浙江省第一人民医院 浙江大学附属第一医院 两浙 浙a8888 浙g88888 浙b33333 浙j18-95 浙gx9999 浙东大峡谷 毛浙东 浙东大竹海 浙东十八潭 浙东商贸城 浙东医院 浙东第一尖雪山欢乐谷旅游