典型的な 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 クエリでそのようなカスタム論理和を表現するにはどうすればよいですか。
===============
アップデート
Max score クエリ パーサーは、私が探していたユースケースに役立ちました。
https://solr.apache.org/guide/8_5/other-parsers.html#max-score-query-parser