用語フィルターに一致するドキュメントにブーストを追加しようとしています。基本はBoolean/MatchAllクエリです。しかし、Elasticsearch クエリのブーストは効果がありません。すべての結果スコアは 1 に設定されます。
curl -XPOST localhost:9200/wiki_content/_search?pretty -d '
{
"_source": [
"title"
],
"query": {
"bool": {
"must": [
{
"match_all": {}
}
],
"filter": [
{
"bool": {
"should": [
{
"term": {
"title.keyword": {
"value": "Main Page",
"boost": 9
}
}
},
{
"term": {
"title.keyword": {
"value": "Top Page",
"boost": 999
}
}
}
]
}
}
]
}
}
}
'
ただし、フィルタリングされたクエリを使用すると、ブーストが機能します。しかし、システムの制限により、フィルターされたクエリを使用できません。元のクエリでブースティングを機能させる方法はありますか?