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 3.6.2拼写检查多词短语:如何在不忽略停止词的情况下获得排序规则?_Solr_Spell Checking_Stop Words - Fatal编程技术网

Solr 3.6.2拼写检查多词短语:如何在不忽略停止词的情况下获得排序规则?

Solr 3.6.2拼写检查多词短语:如何在不忽略停止词的情况下获得排序规则?,solr,spell-checking,stop-words,Solr,Spell Checking,Stop Words,配置了查询时间参数的Solr 3.6.2默认(基于字段)拼写检查器有问题 拼写检查。onlyRepopular=true 拼写检查。计数=5 拼写检查.collate=true 拼写检查。maxCollations=5 拼写检查。maxCollationTries=5 在其分析器上具有solr.StopFilterFactory过滤器的字段类型上 建议阶段按预期进行: 索引字段不包含任何停止字 对于给定的停止词,未提供任何建议 但是结果排序总是包含被忽略的stopwords,这是我不想要

配置了查询时间参数的Solr 3.6.2默认(基于字段)拼写检查器有问题

  • 拼写检查。onlyRepopular=true
  • 拼写检查。计数=5
  • 拼写检查.collate=true
  • 拼写检查。maxCollations=5
  • 拼写检查。maxCollationTries=5
在其分析器上具有solr.StopFilterFactory过滤器的字段类型上

建议阶段按预期进行:

  • 索引字段不包含任何停止字
  • 对于给定的停止词,未提供任何建议
但是结果排序总是包含被忽略的stopwords,这是我不想要的:我更喜欢组合术语的原始建议,而不是看起来像“某种”自然语言答案的东西。 例如,在搜索“佩里手卷”时,我更喜欢“一把浆果”而不是“一把浆果”

我不认为由于field query analyzer而被排除在拼写检查建议之外的stopwords会像其他查询元素一样被“标记”以进行保存:

请注意,不可拼写检查的术语,例如用于范围的术语 检测并排除查询、前缀查询等 拼写检查。此类不可拼写检查的术语保留在 整理输出,以便可以按原样再次运行原始查询

似乎有两种解决方案是可行的

  • 要么有一个,所以从一开始就忽略停止字:不确定在3.6.2中是否可能
  • 或者有一个自定义的拼写检查器,它不会试图找到任何关于停止字的建议(或者总是建议一个“空”字符串),而不会打乱排序过程
我错过什么了吗

问候