問題タブ [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.
ruby - Rails アプリを Elasticsearch サーバーに接続する
サーバー ログのインデックス作成に、logstash+elasticsearch を使用しています。Elasticsearch サーバーは localhost:9200 で実行されており、何百万ものサーバー ログ ドキュメントがあります。Rails アプリも localhost:3000 で実行しています。この Rails アプリを ES サーバーに接続する必要があります。
「elasticsearch-rails」gem について読んだことがありますが、どこでも ActiveRecords/Models を使用して見つけました。ただし、これには ActiveRecords は必要ないと思います。ES サーバーのインデックスにクエリを実行し、Rails アプリ内のドキュメントをフェッチする方法が必要なだけです。
これを行う方法はありますか?誰でもこの状況で私を助けてもらえますか? 私の質問がはっきりしない場合はコメントしてください。
前もって感謝します。
ruby-on-rails - ElasticSearch クライアントをアプリケーション全体で使用できるようにするにはどうすればよいですか?
elasticsearch_ruby
Railsアプリ内で使用しています。elasticsearch_rails
ActiveRecord オブジェクトとの緊密な統合を望んでいないため、使用しないことにしました。
とを使用elasticsearch_ruby
してelasticsearch_transport
、次のように新しいクライアントを作成します。
このクライアント アクセス可能なアプリケーション全体を作成するにはどうすればよいですか。インスタンスを一度だけ作成して、アプリケーション全体で使用したい。
これを行うためのベストプラクティスは何ですか?
私が行方不明になっていることが明らかな何かがあるようです。
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
ruby - Elasticsearch RubyクエリにOR条件を追加するには?
私のユースケースでは、Elasticsearch クエリに OR 条件を追加したいと考えています。ここに私の質問があります、
'term' => {"@dest" => ' '}
@dest の空のチェックを追加したいと思います'term' => {"@dest" => dest}
or 条件を追加しようとしましたが、機能していません。
誰かがこれで私を助けてくれますか?
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 を使用しています。
正しい方向へのヘルプやガイダンスをいただければ幸いです。必要なだけ多くの情報を添付していただければ幸いです。
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/
elasticsearch - Elastic Search クエリで特定のフィールドの値のリストを渡す方法
provider_id
からを検索するクエリがありますElastic Search Cluster
。以下のクエリを使用して単一の結果を取得しています provider_id
が、プロバイダーのリストを渡す方法を理解するのに助けが必要です。
検索したいprovider_ids = [913523, 923523, 923523, 933523, 953523]
場合、クエリをどのように変更すればよいでしょうか?