問題タブ [elasticsearch-rails]
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-on-rails - モデルを検索するelasticsearchレール
私のレールアプリで製品を検索するためにelasticsearch-railsとelasticsearch-model gemを使用しています。
検索の大文字と小文字を区別しないようにしたいので、複数形に依存しないようにする必要があります。私はグーグルで多くのことを調査しましたが、アナライザーを使用してそれを行う方法についての予感を得ましたが、成功しませんでした. そのため、新しい質問を投稿する必要がありました。
これが、検索したい私の製品モデルです
- 私の質問は、複数形に関係なく検索するにはどうすればよいですか?
- Tシャツ、Tシャツ、Tシャツはすべて一致する必要があります。
とりわけ、以下に示す次のブロックの説明は見つかりませんでした
検索のためのこのブロックの正確な目的は何ですか。
mappings dynamic: 'false' とはどういう意味ですか?
インデックス :name、アナライザー: 'snowball'、index_options: 'offsets' とはどういう意味ですか?
このブロックに追加できる他のオプションは何ですか。少し説明すると、私にとって非常に役立ちます。
さらなる研究のためのリンクも役に立ちます。
ありがとう
ruby-on-rails - Elasticsearch-rails、ハイライトクエリ
Elasticsearch-rails gem からハイライトを取得しようとしていますが、うまくいきません。
私の検索方法:
結果をビューにマップしてハイライトがあるかどうかを確認すると、次の配列が得られますfalse
。
ここで Elasticsearch のドキュメントを読みました: https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-highlighting.htmlとここで宝石のドキュメント: https://github.com/elastic /elasticsearch-rails/tree/master/elasticsearch-modelと私のクエリは正しいようです。続行方法がわからない。
elasticsearch - Elasticsearch クエリにブーストを追加する
Elasticsearch の結果に重みを付けようとしています。
現在、公開されたアイテムのみを取得するために、「アクティブな」ブール値のみをフィルタリングしています。
私は今、私のモデルのいくつかに重みを加えたいと思っています。たとえば、市場は +2 ブーストを取得する必要があります。私はこのようなことを試みていました:(search_typeは私の結果のフィールドで、基本的にはRailsのモデル名です)
ただし、それは機能していないようです:「関数リストの 1 つのエントリに関数がありません」。だから私"weight": 1
はアクティブなフィルターに追加しました..しかし、今では解析できないと言われています。
私は ElasticSearch の経験がなく、ドキュメントはかなり混乱しています。私も何かを使ってみましたcustom_filters_score
が、私のバージョンの ES ではうまくいかないようです (ここで説明されているように: http://jontai.me/blog/2013/01/advanced-scoring-in-elasticsearch/ )。私が試した別のオプションは、ブールクエリとmustおよびshouldを組み合わせることでしたが、結果はゼロでした...
続行方法がわからない。いくつかの洞察は素晴らしいでしょう。
ruby-on-rails - ネストされた関連付け - Elasticsearch-Rails または Cheyy?
ActiveRecord モデルが関連付けられた Rails アプリがあります。
簡単にするために、 https://github.com/elastic/elasticsearch-rails/blob/master/elasticsearch-model/examples/activerecord_associations.rb#L95とまったく同じ DB スキーマがあるとしましょう。
そして、「ジョン」という名前の記事の著者を検索したいと思います。
Article.search('john')
article.authorsの指定されたフィールド first_name と last_name を期待どおりに検索します。
より具体的に、Article から article.authors までを first_name のみで検索すると言いたいと思います。
Article.search(authors: {first_name: 'john'})
動作しません。
上記を行う正しい方法は何ですか?
また、Elastic HQ を使用して、記事のインデックスにフィールドauthorsがあります。これは、elasticsearch-rails のインデックス作成が正しく、ネストされた作成者であることを意味しますか?
ruby-on-rails - Rubyで複数のmulti_matchクエリを使用したElasticsearch DSL
同じクエリ内に 2 つの multi_match 検索があるというシナリオがあります。問題は、Ruby で JSON を作成すると、一意でないキーを持つ json は不可能と思われるため、そのうちの 1 つだけが表示されることです。
これが私のクエリです:
私も最近elasticsearchを使い始めたばかりなので、同じことを達成するためのより良いクエリを提案していただければ非常に役に立ちます。
ruby-on-rails - Elasticsearch で親子オブジェクトをインポートする方法
Railsアプリでgemのelasticsearch-railsとelasticsearch-modelを使用しています。この統合テストを、既存のデータをインポートする前にマッピングなどを設定するためのテンプレートとして使用しています。これは、親モデルと子モデルの間で同じ基本的な関連付けを持っています。
コールバックのために統合テストが機能し、それらのコールバックに親 ID が設定されることを知っています。
既存の質問と回答をインポートしたいと考えています。Questions.import
andを呼び出すだけでは不十分なようですAnswers.import
。質問はありますが、Elasticsearch ストアで回答が得られません。適切な親マッピングを使用して Answers オブジェクトをインポートする方法を知りたいです。誰でもヒントを教えてもらえますか?
ruby-on-rails - Elasticsearch で複数世代を検索する方法
Elasticsearch の記事では、1 世代にわたる検索に基づいてオブジェクトを見つける方法について概説しています: https://www.elastic.co/guide/en/elasticsearch/guide/current/grandparents.html
name
「リバプール」で始まるブランチも照会したい場合はどうすればよいですか? それを見つけるためにこの検索をどのように変更しますか? フォーマット エラーが発生し続け、クエリをオンラインでネストする方法に関する情報が見つからないようです。
私はすでにこれを試しました(動作しません):
クエリの形式が正しくないというエラーが表示されました。
試しbool
ましたが、どちらも機能しません。bool で has_child を使用することはできません。