2013-01-06 167 views
0

在我Solr的字段在下面的载人配置,搜索Solr的停止词

<fieldType name="text_exact" class="solr.TextField" positionIncrementGap="100" autoGeneratePhraseQueries="true"> 
<analyzer type="index"> 
    <charFilter class="solr.HTMLStripCharFilterFactory"/> 
    <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="0" splitOnNumerics="0" preserveOriginal="1" types="wdfftypes.txt"/> 
    <filter class="solr.LowerCaseFilterFactory"/> 
</analyzer> 
<analyzer type="query"> 
    <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="0" splitOnNumerics="0" preserveOriginal="1" types="wdfftypes.txt"/> 
    <filter class="solr.LowerCaseFilterFactory"/> 
</analyzer> 
</fieldType> 

这工作在我不想制止的情况下,但现在这是造成另一种使用情况问题,人们开始SEACH以下组合,

  • 常春藤:在这种情况下,只有常春藤结果被返回,当预期的结果将与。我明白,这是因为停止词,但是实现这一目标的方式。例如,如果他们在引号内搜索“常春藤”,则应该比这应该起作用。

  • (妈妈&我)或(“妈妈和我”):在这种情况下,还会删除&或返回包括妈妈和我在内的部分语句的结果。

如果只有新数据以正确的方式运行但不能重新索引,那么我很好。另外,更改schema.xml文件是否会触发完全复制?

问候,
AYUSH

回答