0

我使用 SOLR 对多值字段执行文本查询,但它没有按照输入的内容返回。我在字段上使用带有标准标记器的 edimax。

例如,我搜索文本“AB C”,但我得到奇怪的订单结果结果#1:“AC B”结果#2:“AB C”结果#3:“AC B”

我怎样才能让结果#2首先出现。

示例查询:localhost:8983/solr/test/select?defType=edismax&fl=text,score&mm=100%&q=AB C&qf=text

响应:{“文本”:“AC B”,“分数”:16.770645},{“文本”:“AB C”,“分数”:16.770645},{“文本”:“AC B”,“分数”: 16.770645}, }

4

1 回答 1

1

edismax 查询解析器的pf2andpf3参数允许您提升术语按彼此顺序出现的文档。这应该可以满足您的需求。

否则,请考虑将 boost 查询bqComplex Phrase Query Parser一起使用:

bq={!complexphrase inOrder=true}text:"A B C"
于 2019-08-20T09:38:17.317 回答