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
solr拼写检查器_Solr_Spell Checking - Fatal编程技术网

solr拼写检查器

solr拼写检查器,solr,spell-checking,Solr,Spell Checking,我已根据此处给出的字段类型实现了solr拼写检查器: 对供应商名称进行拼写检查,其中应给出与输入的搜索词相关的建议。 我已将copyField用于上述类型的vendorName字段,即textSpell 我的一些查询得到了奇怪的整理结果。 例如 1) maccys不会给我任何结果,因为maccys会给我期望的结果,即macy's。我比较了使用文本和文本拼写字段类型对maccys和maccy进行的文本分析(管理工具),并将macy作为最终结果。那么为什么拼写检查器没有返回结果呢 2) khols向

我已根据此处给出的字段类型实现了solr拼写检查器: 对供应商名称进行拼写检查,其中应给出与输入的搜索词相关的建议。 我已将copyField用于上述类型的vendorName字段,即textSpell 我的一些查询得到了奇怪的整理结果。 例如 1) maccys不会给我任何结果,因为maccys会给我期望的结果,即macy's。我比较了使用文本和文本拼写字段类型对maccys和maccy进行的文本分析(管理工具),并将macy作为最终结果。那么为什么拼写检查器没有返回结果呢

2) khols向我提供“shoes”整理结果,其中正确结果“kohls”是(shoes&shops)之后的第三个建议

OnlyRepopular标志为false,精度默认为0.5


提前感谢您的帮助。在进一步调试方面,我有点不知所措。

尽管我们有很多可用的数据,但拼写检查器产生奇怪的结果时,我们也遇到了同样的问题。我无法控制如何更好地调试它,但我可以告诉您我们做了什么:

  • 我们现在使用的是一个文本字段,没有空格或标准标记符!如果您不仅要索引“hello rabbit”,而且要索引“rabbit hello”的数据更少,您还可以添加一个木瓦过滤器,但这将进一步放大拼写检查索引

     <fieldType name="txtspell" class="solr.TextField" positionIncrementGap="100" omitNorms="true">
        <analyzer>
            <tokenizer class="solr.KeywordTokenizerFactory"/>
            <filter class="solr.LowerCaseFilterFactory"/>
            <filter class="solr.TrimFilterFactory" />
            <filter class="solr.PatternReplaceFilterFactory"
            pattern="[\-\.\/\(\),]" replacement=""  replace="all"/>
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="spellstopwords.txt"/>                       
            <!-- we don't want duplicates for one doc -->
            <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
         </analyzer>
     </fieldType>
    
    
    
  • 如果您确实需要排序规则,那么(如果您不使用shingle筛选器,您将需要它),您可以使用solr from trunk,在这里您可以指定MaxCollationContries=1,以确保返回的更正将产生一些命中

  • 我们使用拼写检查。准确度=0.7(且仅限YmorePopular=false)