問題タブ [elasticsearch-high-level-restclient]

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 投票する
0 に答える
381 参照

elasticsearch - 明確な高レベルの REST クライアント エラスティック クエリ

High Level Rest Client個別の値でドキュメントを検索するために使用する方法。ドキュメンテーションは、によってAggregation framework異なるものを見つけることについて話しています。しかし、 を使用した例は見つかりませんでした。で区別するにはどうすればよいですか。documentsfieldHigh Level Rest Clientdocumentsfield

データ

期待される出力 ("Field1" : "Value1" を含む任意のドキュメント)

個別のネストされた値のエラスティック検索クエリ

エラスティック アグリゲーション

以下のコードでも同じ結果が得られます。

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

java - Elastic Search の高レベル REST JAVA クライアントとのマッピングを非同期的に配置 - 非推奨のエラー

この Elastic Search ドキュメントに従って、「連絡先」という名前の Elastic Search インデックスのマッピングを作成しています。

https://www.elastic.co/guide/en/elasticsearch/client/java-rest/master/java-rest-high-put-mapping.html

コードを実行すると、

マッピングの作成に失敗しました: 検証に失敗しました: 1: マッピング タイプがありません。

これが私のコードです。

ドキュメントの例に従っているので、これは奇妙です。Java クライアントのバージョン 7.6.0 を使用しています。


アップデート。Java クライアントのバージョン 7.5.2 にダウングレードしたのは、これが Elastic Search デプロイメントのバージョンだからです。put mapping コマンドが機能するようになりました。ただし、非同期呼び出しを機能させることができません。その呼び出しのコメントを外すと、Eclipse は、この関数は非推奨であり、新しい関数を使用する必要があることを通知します。ただし、新しいメソッドは非推奨のメソッドと同じように見えます (同じパラメーター、同じ名前)。違いは何ですか?また、Eclipse に新しいバージョンを使用するように指示するにはどうすればよいでしょうか?

非推奨。このメソッドは、非推奨の機能であるタイプを参照する古いリクエスト オブジェクトを使用します。代わりに、新しいリクエスト オブジェクトを受け入れるメソッド putMappingAsync(PutMappingRequest, RequestOptions, ActionListener) を使用する必要があります。

同期のもののみ。

// これは機能しない非同期呼び出しです。// client.indices().putMappingAsync(request, RequestOptions.DEFAULT, listener);

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

java - Elastic Search の高レベル REST クライアント for JAVA を使用した集計クエリ

集計クエリを使用して Elastic Search インデックスを検索するための有効な cURL 要求があります。必要に応じて、応答には、指定された集計フィールドの値のリストと、これらの各値に一致するドキュメントの数が含まれます。たとえば、連絡先を郵便番号ごとに集計すると、応答には 50 の郵便番号と、これらの郵便番号ごとの連絡先の数が含まれます。偉大な。

これで、同じ集計クエリを実行する JAVA 関数も作成できました。集約応答でネストされたデータを解析するにはどうすればよいですか? 特に、各バケットの key 変数と docCount 変数を取り出したいと思います。オンラインや Elastic ドキュメントでこの例を見つけるのに苦労しています。

これが私がこれまでに持っているものです...

実際、searchResponse には集計のリストが含まれています。ただし、byZipAggregation は null です。home_zip 集計データをオブジェクトとして取得するにはどうすればよいですか? 私はこのElasticドキュメントで作業しています...

https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/_bucket_aggregations.html

searchResponse の値は次のとおりです。

より多くの文書データがここにありました。この例を簡略化するために削除しました。

Aggregations オブジェクト全体を Javascript で記述されたクライアント コードに渡し、Javascript コード内の目的のフィールドを解析できることに気付きました。ただし、不要なデータをクライアントに渡さないように、このすべての解析を Java サーバー コードで実行したいと考えています。さらに、応答の一部が大きすぎてサーバーがクライアントに渡せないようです。では、Java でバケット キーと docCounts を解析するにはどうすればよいでしょうか?