【发布时间】:2014-12-29 15:48:18
【问题描述】:
我正在寻找一种可以精确搜索场景的方法:
说一句话:'堆栈溢出'
我想搜索具有完全“堆栈”和“-”和“溢出”而不是 OR 的文档。
根据我的阅读理解,单词被拆分为“stack-overflow”->“stack”,“overflow”。
我们可以保留索引上的原始单词吗?
我尝试了这里提到的解决方案,但没有奏效:Rails sunspot-solr - words with hyphen
也试过这个代码:
<fieldType name="autosuggest" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.WordDelimiterFilterFactory"
generateWordParts="1"
splitOnNumerics="1"
catenateWords="1"
catenateAll="1"
preserveOriginal="1"
/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.EdgeNGramFilterFactory" minGramSize="1" maxGramSize="25" />
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.WordDelimiterFilterFactory"
generateWordParts="1"
splitOnNumerics="1"
catenateWords="0"
catenateAll="0"
preserveOriginal="1"
/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
感谢任何帮助或指导。
【问题讨论】:
标签: ruby-on-rails solr