問題タブ [elasticsearch-ruby]

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 に答える
315 参照

ruby - Rails アプリを Elasticsearch サーバーに接続する

サーバー ログのインデックス作成に、logstash+elasticsearch を使用しています。Elasticsearch サーバーは localhost:9200 で実行されており、何百万ものサーバー ログ ドキュメントがあります。Rails アプリも localhost:3000 で実行しています。この Rails アプリを ES サーバーに接続する必要があります。

「elasticsearch-rails」gem について読んだことがありますが、どこでも ActiveRecords/Models を使用して見つけました。ただし、これには ActiveRecords は必要ないと思います。ES サーバーのインデックスにクエリを実行し、Rails アプリ内のドキュメントをフェッチする方法が必要なだけです。

これを行う方法はありますか?誰でもこの状況で私を助けてもらえますか? 私の質問がはっきりしない場合はコメントしてください。

前もって感謝します。

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

ruby-on-rails - ElasticSearch クライアントをアプリケーション全体で使用できるようにするにはどうすればよいですか?

elasticsearch_rubyRailsアプリ内で使用しています。elasticsearch_railsActiveRecord オブジェクトとの緊密な統合を望んでいないため、使用しないことにしました。

とを使用elasticsearch_rubyしてelasticsearch_transport、次のように新しいクライアントを作成します。

このクライアント アクセス可能なアプリケーション全体を作成するにはどうすればよいですか。インスタンスを一度だけ作成して、アプリケーション全体で使用したい。

これを行うためのベストプラクティスは何ですか?

私が行方不明になっていることが明らかな何かがあるようです。

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

ruby - 同じ検索フィールドを 2 回分析すると、ElasticSearch のサブフィールドで 0 の結果が返される

search_text全文検索フィールドと呼ばれるフィールドがあります。

search_text.wordsこのフィールドにインデックスを付けるために ngrams を使用しています。単語全体にインデックスを付ける新しいサブフィールドを追加したかったのです。

これを実装しようとしましたが、クエリを実行するとsearch_text.words常に 0 ヒットが返されます。

私は次のように作成しています:

ここに完全なデモがあります:

https://www.dropbox.com/s/wwxm3qe0oxc2z5y/Slimmed%20ElasticSearch%20Text%20%281%29.html?dl=0

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

ruby - Elasticsearch RubyクエリにOR条件を追加するには?

私のユースケースでは、Elasticsearch クエリに OR 条件を追加したいと考えています。ここに私の質問があります、

'term' => {"@dest" => ' '}@dest の空のチェックを追加したいと思います'term' => {"@dest" => dest}

or 条件を追加しようとしましたが、機能していません。

誰かがこれで私を助けてくれますか?

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

ruby-on-rails - Faraday::Elasticsearch の SSLError

現在、elasticsearch-client を介して Elasticsearch と通信しているバックグラウンド ワーカーがファラデー内で SSL エラーに遭遇するという問題が発生しています。

エラーは次のとおりです。

SSL_connect returned=1 errno=0 state=SSLv3 read server hello A: sslv3 alert handshake failure

構成は時々 (約 50%) 正常に機能し、コンソール セッション内で失敗したことはありません。

コマンドのトレースは次のとおりです。 curl -X GET 'https://<host>/_alias/models_write?pretty

クライアント構成はこれです

ご覧のとおり、ssl バージョンを明示的に TSLv1_2 に設定しましたが、それでも SSLv3 エラーが発生します。

多分それは競合状態の問題だと思った。そのため、それぞれ 50 のスレッドを持つ約 10 のプロセスを生成し、内部で sidekiq perform メソッドを呼び出すスクリプトを実行しましたが、それでも再現できませんでした。

関連する場合は、管理された AWS 2.3 Elasticsearch を使用しています。

正しい方向へのヘルプやガイダンスをいただければ幸いです。必要なだけ多くの情報を添付していただければ幸いです。

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

ruby-on-rails - Ruby で Elastic Search Gem を使用するときにクラスターの詳細を指定する場所

アプリケーションElastic Search Clusterからデータにアクセスしたい。railsサーバーがで実行されていてhttp://localhost:9200、エンドポイントにアクセスしたいとしましょうhttp://localhost:9200/location/type

このドキュメントに続いて、この例に出くわしました:

質問:

  • elasticsearch clusterコードのどこで my の詳細を定義しますか? クラスターはで実行されていますhttp://localhost:9200/
0 投票する
1 に答える
6396 参照

elasticsearch - Elastic Search クエリで特定のフィールドの値のリストを渡す方法

provider_idからを検索するクエリがありますElastic Search Cluster。以下のクエリを使用して単一の結果を取得しています provider_idが、プロバイダーのリストを渡す方法を理解するのに助けが必要です。

検索したいprovider_ids = [913523, 923523, 923523, 933523, 953523]場合、クエリをどのように変更すればよいでしょうか?