問題タブ [elasticsearch-aggregation]
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.
elasticsearch - Elasticsearch アグリゲーションは結果を小文字に変換します
ElasticSearch を少し使ってみたところ、集計を行うときに問題が見つかりました。
/Aと/Bの2 つのエンドポイントがあります。最初のものには、2番目のものの両親がいます。したがって、B 内の 1 つまたは複数のオブジェクトは、A 内の 1 つのオブジェクトに属している必要があります。したがって、B 内のオブジェクトには、ElasticSearch によって生成された親インデックスを持つ属性「parentId」があります。
A の親を B の子属性でフィルター処理したいと考えています。そのためには、まず B の子を属性でフィルター処理し、後で親を取得するために使用する固有の親 ID を取得します。
このリクエストを送信します。
そして、次の応答を取得します。
何らかの理由で、フィルタリングされたキーが小文字で返されるため、ElasticSearch に親を要求できません
なぜこれが起こっているのかについてのアイデアはありますか?
elasticsearch - 複数のインデックスにわたる複数のフィールドでの Elasticsearch 集計
Application
モデル用とDatabases
モデル用 (多対多リレーショナル) の2 つのインデックスがあります。
各ドキュメントは、他のモデルからの属性を含むように非正規化されています
ベンダー名のマルチインデックス検索を実行しています - 両方のインデックスから適切な結果が得られているようです。
チャレンジは vendor_name フィールドで適切に集計されています
次の集計を使用すると、結果がデータベースからのみの場合に機能するようです。私も試しfield: '*vendor_name'
ましたが、うまくいかないようです。
私は何が欠けていますか?モデルを変更する必要がありますか?
更新 1:
@Andrie-Stefan によると、両方のインデックス マッピングのより正確な表現を以下に示します (短縮のために省略)。
データベース
応用
elasticsearch - Elasticsearch minBy
最大値を含むドキュメントからフィールドを取得するelasticsearchの方法はありますか? (基本的に、scala のmaxByと同様に動作します)
例(嘲笑):
for which{"grouping":1,"a":2,"b":5},{"grouping":1,"a":1,"b":10}
は (ようなもの): を返します{"grouped":1,"withMax":5}
。ここで、最大値は最初のオブジェクト"a"
が高いため、最初のオブジェクトから取得されます。
elasticsearch - ElasticSearch : フィールドごとにグループ化し、最低価格で集計します。
Articles と VariationGroups の間の OneToMany 関係を考えてみましょう。
ElasticSearch では、各記事ドキュメントに「variationGroup」フィールドがあります。
用語集計を使用して、記事ドキュメントのフィールド「variationGroup」で結果をグループ化します。
TopHits サブ集計を使用して、各バケットの最初のドキュメントを取得します。
各バリエーション グループの最低価格を取得するにはどうすればよいですか? 用語集計で最小サブ集計を使用すると、クエリに一致するドキュメントで最小価格が計算されます。
バリエーション グループにグループ化できるすべてのドキュメントの最低価格を取得したいと考えています。
たとえば、「Tshirt with stars」という名前の VariationGroup には 6 つの記事が含まれています。クエリ "red Tshirt" は、6 つの記事のうち 2 つを返します。
クエリに一致する 2 つの記事だけでなく、6 つの記事の最低価格を取得したいと考えています。
それは同じ呼び出しでも可能ですか?
対応する json は次のとおりです。