Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Indexing 使用罗马数字搜索Solr前缀-超过召回问题_Indexing_Solr_Solr4_Synonym_Roman Numerals - Fatal编程技术网

Indexing 使用罗马数字搜索Solr前缀-超过召回问题

Indexing 使用罗马数字搜索Solr前缀-超过召回问题,indexing,solr,solr4,synonym,roman-numerals,Indexing,Solr,Solr4,Synonym,Roman Numerals,Solr版本使用:4.10* 问题陈述: 我们有一个独特的问题,“6”是回忆“Vice”等字符串,即匹配“vi*”的字符串。我们以下面的方式存储标题的所有前缀 输入:副 v vi(这与同义词匹配シックス,六,六,六,,ⅵ,六) 维克 副作用 分析链: <fieldType name="some_name" class="solr.TextField"> <analyzer type="index"> <tokenizer class="s

Solr版本使用:4.10*

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

输入:
v
vi(这与同义词匹配シックス,六,六,六,,ⅵ,六)
维克
副作用

分析链:

<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*”开头的内容

我可以通过在映射中使用同义词来处理analyzer链外的标记化,并且当罗马数字显示为空格分隔的标记时,只调用同义词替换,但我想看看这个链是否可以在没有任何服务器端代码的情况下完成