0

典型的 dismax(或 edismax)查询使我们能够用qf(例如:field1,field2^10)和q(例如:'test-query')参数来表达我们的需求。Solr 然后在内部生成一个查询,其形式为:

DisjunctionMaxQuery((field1:test-query | field2:test-query^10))

上述查询中的“析取”是

Disjunct 1 : 'field1:test-query'

Disjunct 2 : 'field2:test-query^10'

上述析取词在查询结构方面是同质的(在每个析取词中只查找 1 个字段。此外,在字段中查看的值是相同的)。

问题 :

有没有办法提供我们自己的分离表达式的自定义列表。例如,我想要以下 2 个析取词

Disjunct 1. +field1:some-value +field2:some-random-value^7.9
Disjunct 2. +field3:another-random-string^10

上述析取项在字段方面是异构的,在这些字段中搜索的值也是异构的。

可能吗 ?如果是,我如何在我的 solr 查询中表达这样的自定义析取词。

================

更新

最大分数查询解析器帮助我解决了我正在寻找的用例。

https://solr.apache.org/guide/8_5/other-parsers.html#max-score-query-parser

4

0 回答 0