solr1.4+IkAnalyzer分词问题
solr1.4+IK都配置好了,也可以分词了,但是solr在查询的时候把ik的分词结构当成一个词去查询了,那位大神帮忙解决下。
PhraseQuery(all:"中国北京 中国 北京") 把分出来的词当成一个次查询了。
schema.xml配置
<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>
...全文
相关推荐
solr基本总结
- **Ikanalyzer**:一种针对中文文本的分词器。- **Sphinx**:另一个高性能的全文搜索引擎,主要用于数据库的全文检索。
lucene相关jar+查询分析器jar
例如,对于中文,可能需要使用IKAnalyzer或其他针对中文处理的分析器,以处理中文词语的分词问题。4.
solr4.X所用IKAnalyzer中文分词器jar包
使用IKAnalyzer在Solr4.X中的步骤通常如下:1.
ikanalyzer-solr8.4.0_solr8_solr_ikanalyzer_中文分词_
这通常涉及到以下步骤:1. **下载与解压**:首先,下载并解压 ikanalyzer-solr8.4.0 压缩包,获取包含 ikanalyzer 相关 jar 文件和配置文件的目录。2.
IKAnalyzer中文分词器jar包
`ik-analyzer-solr5-5.x.jar`:这是IKAnalyzer为Solr 5.x版本定制的jar包,包含了分词器的核心算法和Solr的集成代码。4.


