我正在寻找一种可以精确搜索场景的方法:
说出:' stack-overflow'
我想搜索具有完全'堆叠' AND' - ' AND'溢出'不是OR。
我从我所读到的内容中理解,单词被拆分为#34; stack-overflow" - > " stack","溢出"。
我们可以保留索引上的原始单词吗?
我尝试了这里提到的解决方案,但没有奏效: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>
感谢任何帮助或指导。
答案 0 :(得分:0)
您可以简单地用双引号(“堆栈溢出”)编写查询。这将完成您已经提到的保留原始索引时间的工作。