Solr搜索 - 连字符

时间:2014-12-29 15:48:18

标签: ruby-on-rails solr

我正在寻找一种可以精确搜索场景的方法:

说出:' 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>

感谢任何帮助或指导。

1 个答案:

答案 0 :(得分:0)

您可以简单地用双引号(“堆栈溢出”)编写查询。这将完成您已经提到的保留原始索引时间的工作。