問題タブ [elasticsearch-query]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2113 参照

elasticsearch - エラスティック検索の構造化クエリでワイルドカードを処理する方法

私のユースケースでは、末尾のワイルドカードを使用してエラスティック検索ドメインを照会する必要があります。クエリでこのようなワイルドカードを処理するベスト プラクティスについて、ご意見をお聞かせください。

次の句を追加することは、クエリの良い方法だと思いますか?

重い操作であるため、先頭のワイルドカードを許可しませんでした。ただし、長期的には、すべてのクエリ要求に対してワイルドカードを分析することがどれほど優れているかを知りたいと思っていました。私の理解では、クエリに実際にワイルドカードが含まれていない場合、ワイルドカードを分析しても影響はありません。あれは正しいですか?

0 投票する
1 に答える
129 参照

elasticsearch - 特定のパラメーターを使用したelasticsearchの集計

私はelasticsearchに大量のドキュメントを持っています。例として、elasticsearchドキュメントの例を銀行として取り上げました


これで、各ドキュメントに state と price というフィールドができました。
並べ替え順序が昇順のバランスである個別の状態を含む結果のみを返すクエリを作成するにはどうすればよいですか。

用語の集約を試みましたが、役に立ちませんでした。
アップデート


このクエリでは、価格がそのキー「状態」でソートされたすべてのトップヒットが返されます。しかし、私が欲しいのは、バランスと一意の状態フィールドを使用した並べ替えられた結果です。
上記のクエリに対して、次のような応答が得られます

ソートされた価格ではありません。

0 投票する
1 に答える
6819 参照

elasticsearch - スペースを含む Elasticsearch ワイルドカード クエリ

スペースを使用してワイルドカード クエリを実行しようとしています。用語ベースでは単語を簡単に照合できますが、フィールド ベースでは照合できません。

フィールドを not_analyzed にする必要があるというドキュメントを読みましたが、このタイプを設定すると何も返されません。

これは、期間ベースで機能するマッピングです。

これは、まったく同じクエリが何も返さないマッピングです。

クエリは次のとおりです。

curl -XPOST http://127.0.0.1:9200/denshop/products/_search?pretty -d '{"query":{"wildcard":{"name":"*test*"}}}'

not_analyzedプロパティでの応答:

not_analyzed のない応答:

編集: 要求された情報の追加

ドキュメントのリストは次のとおりです。

なしでは、次のnot_analyzedように返されます。

curl -XPOST http://127.0.0.1:9200/denshop/products/_search?pretty -d '{"query":{"wildcard":{"name":"*testovací*"}}}'

しかし、これはそうではありません (アスタリスクの前のスペースに注意してください):

curl -XPOST http://127.0.0.1:9200/denshop/products/_search?pretty -d '{"query":{"wildcard":{"name":"*testovací *"}}}'

to マッピングを追加するnot_analyzedと、ワイルドカード クエリに何を入力してもヒットが返されません。

0 投票する
1 に答える
1060 参照

elasticsearch - 指定された時間範囲と AND 演算子を使用した Deep Elasticsearch ワイルドカード クエリ

私はなんとかクエリを構築することができました

  • 指定された時間範囲内のすべての正確な値に一致
  • andオペレーターをサポートします。

部分一致をサポートするようにクエリを拡張したいのですが、それを行うのに苦労しています。アドバイスをいただければ幸いです。

マッピング

現在のクエリ

0 投票する
0 に答える
82 参照

elasticsearch - Elasticsearch - sort の nested_filte 内で bool クエリを使用する

特別価格の製品を数量 5 から除外するクエリがあります。製品を価格の降順で並べ替えたいと考えています。1 個あたりの価格は、1 個の数量に対して高くなるため、考慮に入れる必要はありません。nested_filter を使用して並べ替えをフィルタリングできることを読みましたが、クエリをコピーして貼り付けるだけでは機能しません。以下は、最も重要なクエリ部分のみが表示されている短いバージョンです。