ユーザーがレポートの任意のフィールドを使用してプロファイルを検索できるレポート フィルターを作成しようとしています。例: で始まるプロファイルと、でfirstname
始まるプロファイルを検索します。ann
grade
vi
これまでに書いたクエリは次のとおりです。
{
from: 20,
size: 20,
query: {
filtered: {
query: {
match_all: [ ]
},
filter: {
bool: {
must: [
{
prefix: {
firstname: "ann"
}
},
{
prefix: {
grade: "vi"
}
}
]
}
}
}
},
sort: {
grade: {
order: "asc"
}
}
}
must
(bool
フィルター内の)の子を1つ削除すると、機能します。ただし、複数のフィルターを使用すると結果が返されず、そこに任意の数のエントリを使用できる必要があります。
また、should
の代わりに使用するmust
と機能します。ロジックを誤解しているかどうかはわかりませんが、私の理解では (この場合)で始まる結果とで始まるmust
結果のみを返す必要があります。firstname
ann
grade
vi
それらは存在しますが、このクエリではそれらが見つかりません。
ここで何か不足していますか?
ありがとう