ユーザーがレポートの任意のフィールドを使用してプロファイルを検索できるレポート フィルターを作成しようとしています。例: で始まるプロファイルと、でfirstname始まるプロファイルを検索します。anngradevi
これまでに書いたクエリは次のとおりです。
{
    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結果のみを返す必要があります。firstnameanngradevi
それらは存在しますが、このクエリではそれらが見つかりません。
ここで何か不足していますか?
ありがとう