[解決済み] ElasticSearchとマルチフィルター
2022-02-10 14:08:43
質問
すべてのユーザードキュメントを検索するクエリを作成しようとしています。
(docType = user)
そして、多くのフィルタに基づいてそれらをフィルタリングします。例えば、場所、性別、年齢などです。フィルターは、私が構築している検索機能へのユーザーの入力に基づいて追加/削除されます。
以下は、結果を返しません。
{
"query": {
"filtered": {
"query": {
"match_all": {}
},
"filter": {
"and": {
"filters":
[
{
"term": {
"doc.docType": "user"
}
},
{
"term": {
"doc.data.profile.location" : "CA"
}
}
]
}
}
}
}
}
以下はリターン結果です。
{
"query": {
"filtered": {
"query": {
"field": {
"doc.data.profile.location" : "CA"
}
},
"filter": {
"and": {
"filters":
[
{
"term": {
"doc.docType": "user"
}
}
]
}
}
}
}
}
後者は、結果は返ってくるものの、長期的にはうまくいきません。年齢や性別などの追加のフィルターを入れたい場合がありますが、複数のフィールドを追加することはできないようです。 最初のクエリは、場所に関するフィルタを削除すると動作します。
解決方法は?
ブールフィルタ
を使用すると、複数の
MUST
,
SHOULD
と
SHOULD_NOT
というリクエストを一緒にしています。これを1つのクエリにまとめることができます。
関連
-
[解決済み] ElasticSearch - 一意な値を返す
-
[解決済み] Elasticsearchクエリ - @timestampと別のフィールドで並べ替え?
-
[解決済み] SQLのサブクエリに相当するElasticSearchの機能は何ですか?
-
[解決済み] Elasticsearchにおけるハイライト
-
[解決済み] Elasticsearchでクエリをフィルタリングする適切な方法とは?(フィルタ vs フィルタリングされたクエリ)
-
[解決済み] LuceneとElasticsearchの違いは何ですか?
-
[解決済み] elasticsearchが特定のフィールドのみを返すようにするか?
-
[解決済み] ElasticSearchからデータを削除する
-
[解決済み】クエリとフィルタの比較
-
[解決済み】Elasticsearchの集計結果/バケットを10個だけでなく全て表示する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] クラスタのインデックスの名前を変更する方法は?
-
[解決済み] Elasticsearchです。ローカルホストのポート9200への接続に失敗 - 接続拒否
-
[解決済み] ElasticSearchとマルチフィルター
-
[解決済み] ElasticSearch - 一意な値を返す
-
[解決済み] ElasticSearchの日付範囲
-
[解決済み] elasticsearchで個数ではなく、明確な値を検索する。
-
[解決済み] Elasticsearchにおけるハイライト
-
[解決済み] kibanaからcsv/excelへのエクスポート
-
[解決済み】クエリとフィルタの比較
-
[解決済み】Elasticsearchの集計結果/バケットを10個だけでなく全て表示する。