很抱歉标题这么糟糕,但我不知道如何描述我的问题。我正在使用sunburnt (python接口)在我的django应用程序中查询solr。当我搜索时,一切都很好,我得到了完整的字符串。另一方面,如果我进行切面(假设是在"job_title“字段),我只能得到带词干的单词
如下所示:
<lst name="job_title">
<int name="manag">17095</int>
<int name="sale">7689</int>
<int name="engin">6995</int>
<int name="consult">4907</int>
<int name="account">4710</int>
<int name="develop">4509</int>
<int name="senior">4366</int>以此类推。这是我的文本fieldType定义:
<fieldType name="text" class="solr.TextField" positionIncrementGap="100" autoGeneratePhraseQueries="true">
<analyzer>
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<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.KeywordMarkerFilterFactory" protected="protwords.txt"/>
<filter class="solr.PorterStemFilterFactory"/>
</analyzer>
</fieldType>我认为PorterStemFilter才是把事情搞砸的人,但我需要它来激活建议。有什么帮助吗?
发布于 2011-07-21 21:47:21
这就是为什么您通常在未分析的字段上进行刻面。添加另一个StrField类型的字段,使用copyField指令获取其中的数据,并对这个新的字符串字段进行刻面。
https://stackoverflow.com/questions/6776755
复制相似问题