問題タブ [elasticsearch-java-api]
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.
java - Elasticsearch Java API あいまい検索テスト
ネイティブの Elasticsearch Java API に問題があります。名前属性でオブジェクトを検索するメソッドを作成したかったのです。ここまでは簡単でした。その後、このメソッドの JUnit テストを作成したいと思いました。ここから問題が始まります。
このテストが問題なく機能する場合もあれば、何かが見つかることを確認するためにいくつかのドキュメントを作成したとしても、検索結果に何も含まれない場合もあります。しかし、elasticsearch のデータベースを見ると、ドキュメントが存在するので、実装が正しくないか、検索 API に深刻な遅延があると思います。
テストされているコードは次のとおりです。
Elastic 1.7.0 を使用して Java 8 で作業しています。問題の位置を特定できる人はいますか? さらに詳しい情報が必要な場合は、お気軽にお問い合わせください。
elasticsearch - エラスティックサーチ NoNodeAvailableException
Elasticsearch から次のエラーが表示されます。
Ubuntu で Elasticsearch 1.7.2 を実行しています。
Elasticsearch.yml で行った変更
接続コード
エラスティック クライアントからデータを取得する
私は何を間違っていますか?
java - リモートクラスターノードに接続しようとすると、接続がすぐに中止される
TransportClient を使用して、Java アプリケーションから Elasticsearch クラスターに接続しようとしています。
ローカルで実行されているクラスターへの接続のテストに成功しました。
これで、EC2-Cloud にリモート クラスターがセットアップされました。REST インターフェースを介してアクセスすると、Kibana も機能します。
アプリケーションを Elasticsearch ノードで直接正常に実行できます。
ただし、別のホストからリモートで接続しようとすると、ログには接続が成功したことが示されますが、すぐに「ホスト マシンのソフトウェアによって確立された接続が中止されました」というエラーが表示されます。
サーバーとクライアントの両方が同じバージョンの Elasticsearch を実行していることを確認しました。また、ファイアウォール構成では、ポート 9300 での通信を許可する必要があります。これは、クラスター ノードが相互に通信するためにも必要です。
私の簡単なテストは次のようになります。
また、クラスター名が設定されていないなど、いくつかの一般的なことを確認しようとしました。
また、まったく別のポートを使用すると、このエラー メッセージではなく、期待どおりにタイムアウトが発生します。したがって、ポートの動作は明らかに異なります。
どこから見始めますか?これは、接続がすぐに拒否されるのではなく、しばらくしてから切断されるファイアウォールの問題でしょうか?
amazon-web-services - エラスティックJavaクライアントを使用してaws elasticsearchサービスと話す方法は?
AWS Elasticsearch サービス(EC2 ではない)を使用して Elasticsearch サーバーをセットアップしました。エンドポイントhttps://xxx-xxxxxxxx.us-west-2.es.amazonaws.com/が表示され、このエンドポイントをクリックすると (ポートが指定されていないことに注意してください)、期待される
問題は、ポート番号なしでelasticsearch Javaクライアントを介してこれを取得するにはどうすればよいですか? 私が得るサンプルコードは
このコードを使用して「host1」をエンドポイントに置き換えると、「NoNodeAvailableException」が発生します。
ps: 私が使用している Java クライアントのバージョンは 2.0.0 です。
編集 最終的に、サードパーティの REST クライアントであるJestを使用することにしました。しかし、Brooks が以下で回答したことも非常に役立ちます。AWS は、http にポート 80 を使用し、https にポート 443 を使用します。私にとってのブロッカーは、私が推測するファイアウォールでした。
Edit2
AWS ES サービスのドキュメントには、明示的に次
のように記載されています。サービスはポート 80 で HTTP をサポートしていますが、TCP トランスポートはサポートしていません。
java - Match Phrase (Exact Search) 句を使用した Elasticsearch Java API Boost クエリ
私の最終的な目標は、入力されたフレーズに対して完全一致検索 (例: テスト タイプ検索) を実行し、その正確なフレーズが探している列に一致すると結果をブーストすることです。
これには、Elasticsearch Java API を使用しています。以下のコードを見つけてください。
この正確な値を含むインデックス内のフィールドをブーストする方法を知りたいです。
上記の応答は、正確には「テスト タイプ検索」ではなく、「テスト コードはこのタイプの検索に使用されます」という値を持つ応答も返します。どうすればこれを修正できますか?
適切な Elasticsearch Java API ドキュメント (2.0.0) を見つける方法はありますか?
java - Elasticsearch must_not がフィルター句で動作しない
私は医療プロジェクトに取り組んでおり、そこでは複数の質問とそれに付随するトピックがあります。問題は、次のコードは正常に機能しますが、'must' 句では正常に機能するのに対し、'must_not' フィルターを考慮していないことです。これで私を助けてください。
また、コードをJavaに変換する必要があります.Javaに変換しようとしていますが、次のコードに固執しています。
「stopdata」インデックスのマッピングは次のとおりです。
上記のインデックスのサンプル データを追加する
elasticsearch - Elasticsearchで配列フィールドを使用して正確にフレーズを見つけるにはどうすればよいですか?
singers
次のようなフィールド マッピングを持つインデックスがあります。
次のようなデータの例:
ここで、インデックスが正確に歌手名「Đàm Vĩnh Hưng」を持っているかどうかを調べたいのですが、どうすればそれを行うことができますか?
現在、私は試しました:
しかし、結果は空です。
どんなアドバイスでも大歓迎です。君たちありがとう。
試してみたところ、 を使用すると解決しましたmatch_phrase
。同じ問題に遭遇した人のためにこれを保持します。これを閉じてください。ありがとうございました。
elasticsearch - Springデータelasticsearch:エンティティフィールドにソート値を設定
spring-data-elastic search を使用した geo distance sort を使用して、elasticsearch から最寄りの店舗を検索します。
問題
_sourceにあるため、 StoreES にorgCodeとstoreCodeが取り込まれます。検索応答の並べ替え [0]値から距離値を入力するにはどうすればよいですか。
StoreElasticSearchRepository メソッド
上記のクエリに相当する残りのリクエスト:
クエリの結果
エンティティ オブジェクト
前もって感謝します。
elasticsearch - NativeSearchQueryBuilder スペースと大文字を使用したelasticsearch
次のコードを使用してエラスティック検索 Java API でフィルタリングしています。文字列クエリを使用すると正常に動作し、結果が返されますが、スペースまたは大文字を含むテキストを使用すると、データは返されません。
使用する場合
データを返す
そして、私が使用する場合
また
データを返さない