solr1.4+IkAnalyzer分词问题

zhulei0429 2013-04-24 03:18:03
solr1.4+IK都配置好了,也可以分词了,但是solr在查询的时候把ik的分词结构当成一个词去查询了,那位大神帮忙解决下。

<lst name="debug">
<str name="rawquerystring">中国北京</str>
<str name="querystring">中国北京</str>
<str name="parsedquery">PhraseQuery(all:"中国北京 中国 北京")</str>
<str name="parsedquery_toString">all:"中国北京 中国 北京"</str>
<lst name="explain"/><str name="QParser">LuceneQParser</str>


PhraseQuery(all:"中国北京 中国 北京") 把分出来的词当成一个次查询了。

schema.xml配置

<?xml version="1.0" encoding="UTF-8" ?>
<schema name="example" version="1.2">
<types>
<fieldType name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true"/>
<fieldType name="text_cn" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory" isMaxWordLength = "false"/>
<filter class="solr.StopFilterFactory"
ignoreCase="true"
words="stopwords.txt"
enablePositionIncrements="true"
/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.SnowballPorterFilterFactory" language="English" protected="protwords.txt"/>
</analyzer>
<analyzer type="query">
<tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory" isMaxWordLength = "false"/>
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="false"/>
<filter class="solr.StopFilterFactory"
ignoreCase="true"
words="stopwords.txt"
enablePositionIncrements="true"
/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.SnowballPorterFilterFactory" language="English" protected="protwords.txt"/>
</analyzer>
</fieldType>
</types>


<fields>

<field name="id" type="string" indexed="true" stored="true" required="true" />
<field name="title" type="text_cn" indexed="true" stored="true" multiValued="true"/>
<field name="name" type="text_cn" indexed="true" stored="true" multiValued="true"/>
<field name="all" type="text_cn" indexed="true" stored="true" multiValued="true"/>
</fields>

<uniqueKey>id</uniqueKey>
<defaultSearchField>all</defaultSearchField>

<copyField source="title" dest="all"/>
<copyField source="name" dest="all"/>
</schema>

...全文
115 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

2,760

社区成员

发帖
与我相关
我的任务
社区描述
搜索引擎的服务器通过网络搜索软件或网络登录等方式,将Internet上大量网站的页面信息收集到本地,经过加工处理建立信息数据库和索引数据库。
社区管理员
  • 搜索引擎技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧