Solr前缀搜索与罗马数字-召回问题

时间:2019-04-26 22:45:59

标签: indexing solr solr4 synonym roman-numerals

Solr版本:4.10。*

问题陈述:
我们有一个独特的问题,其中“ 6”调用“ Vice”等字符串,即与“ vi *”匹配的字符串。我们以以下方式存储标题的所有前缀

输入:副手
v
vi(这与同义词シックス,6,six,vi,ⅵ,六匹配)
vic

分析器链:

<fieldType name="some_name" class="solr.TextField">
      <analyzer type="index">
        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
        <filter class="solr.LowerCaseFilterFactory"/>
        <filter class="solr.DelimitedPayloadTokenFilterFactory" delimiter="$" encoder="float"/>
        <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
      </analyzer>
      <analyzer type="query">
        <tokenizer class="solr.WhitespaceTokenizerFactory"/>
        <filter class="solr.LowerCaseFilterFactory"/>
        <filter class="solr.DelimitedPayloadTokenFilterFactory" delimiter="$" encoder="float"/>
      </analyzer>
</fieldType>

如何解决“ 6”不应召回与“ vi *”匹配的任何事实?同样,“ 5”正在调用以“ v *”开头的所有内容。

我可以通过在地图中具有同义词并仅当罗马数字显示为以空格分隔的令牌但仅想查看是否可以由链完成而不需要任何服务器端时调用同义词替换来处理分析器链之外的令牌化代码。

0 个答案:

没有答案