さまざまなフィールドのさまざまなクエリ データと ORed 結果を含むクエリがあります。また、特定のフィールドでのヒットを優先したいと考えています。理想的には、これによりランキングが上がるだけで、他のフィールドの用語の一部を含まない結果が生じることはありません。これにより、特定のフィールドを持つ結果が歪められます。
これは以前はブーストと呼ばれていたと思いますが、ブーストが Lucene Elasticsearch から削除されたため、関数スコアに置き換えられ、クエリに追加する方法がわかりません。
クエリは次のようになります。
POST /index/type/_search
{
"query": {
"bool": {
"should": [{
"terms": {
"field1": ["67", "93", "73", "78", "88", "77"]
}
}, {
"terms": {
"field2": ["68", "94", "72", "76", "82", "96", "70", "86", "81", "92", "97", "74", "91", "85"]
}
}, {
"terms": {
"category": ["cat2"]
}
}]
}
}
}
すべての可能なヒットの中で、フィールドからの用語を持つものにランキングを偏らせたいと思いcatagory
ます.