問題タブ [searchkick]
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 ログ ファイルの巨大なサイズのパフォーマンスの低下
私は RoR を使用してアプリケーションと searchkick という gem を開発しています。この gem は内部的に Elasticsearch を使用しています。すべて正常に動作しますが、プロダクションでは、しばらくするとサイトがダウンするという奇妙な問題に直面しました。私たちが発見した理由は、サーバーのメモリが過剰に使用されていたことです。先週のelasticsearchログファイルをいくつか削除したところ、メモリ使用量が92%から47%に減少したことがわかりました。ローリング ログを使用し、ログは毎日バックアップされます。さて、私たちが直面している問題は、前日のログ ファイルが 1 つしかないため、メモリが大きくなることです。ログ ファイルは、現在のファイルが 4 GB を使用していても、多くのスペースを占有しています!!!! どうすればそれを防ぐことができますか?
メッセージはほとんど警告レベルです。
[00:14:11,744][WARN ][cluster.action.shard ] [Abdul Alhazred] [?][0] sending failed shard for [?][0], node[V52W2IH5R3SwhZ0mTFjodg], [P], s[INITIALIZING], indexUUID [4fhSWoV8RbGLj5jo8PVoxQ], reason [Failed to start shard, message [IndexShardGatewayRecoveryException[[?][0] failed recovery]; nested: EngineCreationFailureException[[?][0] failed to create engine]; nested: LockReleaseFailedException[Cannot forcefully unlock a NativeFSLock which is held by another indexer component: /usr/lib64/elasticsearch-1.1.0/data/elasticsearch/nodes/0/indices/?/0/index/write.lock]; ]]
SO questionのいくつかを見て、ulimitを増やすか、新しいノードを作成して、問題も解決し、サイズを縮小しようとしています。私の limits.conf には、ハードとソフトの nofile 用に 65535 があります。また、sysctl.conf で fs.file-max が 100000 を超えています。ファイル サイズを縮小するために実行できる他の手順はありますか。さらに、elasticsearch 構成の変更についての洞察を得ることができません。
誰かが助けることができれば。ありがとう
ruby-on-rails - Searchkick は特定のレコード インデックスを手動で削除します
Searchkick を使用して特定のレコード インデックスを手動で削除する方法。特定のレコードのインデックスを再作成するオプションがありますが、レコード インデックスを削除するオプションが見つかりませんでした。
ruby-on-rails - Rails - モデル メソッドを使用した Searchkick の結果のフィルタリング
Rails ecommerce プロジェクトで Searchkick を使用しています。ユーザーは商品リストを検索できます。
特定の商品がサイトに表示されない状況があります (たとえば、在庫 = 0 の場合など)。
searchkick docs に基づいて、コントローラーに検索メソッドを として持っています@listings = Listing.search(params[:search])
。これは意図したとおりに機能します。
私のリスティング モデルでは、どのリスティングを表示してもよいかを定義する以下のメソッドがあります。
上記に基づいて、サーチキックメソッドに言ってもらいたいのです@listings = Listing.not_expired.search(params[:search])
が、これは機能しません。基準を満たす結果のみを表示するように searchkick に指示するにはどうすればよいですか?
ruby-on-rails - searchkick クエリにデフォルトの where 句を常に追加する
各セッションで、すべての searchkick クエリに where 句を追加する必要があるユースケースがあります。これは基本的に、複数の DB に複数のクライアントからのデータがあり、searchkick インデックスに client_id というフィールドが含まれている場合です。
すべてのクエリに対してそれを続けたくありません。このセッションのすべての searchkick クエリに where: {client_id: "XXXX"} を追加する方法はありますか。
ruby-on-rails - クエリがヒットしたフィールドを知る
Searchkick による Elasticsearch の使用。
私のドキュメントは次のようになります。
私のアイテムモデル:
検索クエリは次のようになります。
クエリが見つかったフィールドを知りたいです。たとえば、それが見つかったフィールドquery="El club de la lucha"
を知りたい場合。detail.est
それは可能ですか?
ruby-on-rails - SearchKick を使用したワイルドカード検索
以下で説明するように、単語の後と単語の前にワイルドカードを使用する方法はありますか..
または SearchKick gem を使用してそのような問題を解決するその他のソリューション。
ruby-on-rails - searchkick を使用した検索フィルター
Rails アプリで searchkick を使用しています。ユーザーが検索したい名前の文字をフォームに入力すると、params[:query] で取得します。フィールドの名前は (name、login、passwd) です。検索結果が表に返ってきます。このようなもの:
検索は正常に機能し、一致したすべての名前が返されますが、問題は、名前がクエリに一致し、login = login1 などのフィールドのみを取得するにはどうすればよいかということです。
あなたの助けに感謝します。前もって感謝します。