問題タブ [tire]

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

ruby-on-rails - Elasticsearch と Tire Gem: "IndexMissingException[[products] missing]"?

製品をインデックスに登録する方法がわかりません。それが原因でこのエラーが発生するからです。

ここに私の製品モデルがあります:

これが問題の場合、製品をインデックスに登録するにはどうすればよいですか?

ありがとうございました。

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

ruby-on-rails - マッピングされていないフィールドは、ElasticSearchによって返される検索結果に含まれます

ElasticSearchのクライアントとしてTiregemを使用してPDF添付ファイルのインデックスを作成したいと思います。私のマッピングでは、添付ファイルフィールドを_sourceから除外して、添付ファイルがインデックスに保存されず、検索結果に返されないようにします

次のcurlコマンドを実行しても、検索結果に含まれる添付ファイルのコンテンツを引き続き表示できます。

私はこのスレッドに私の質問を投稿しました:

しかし、添付ファイルが検索結果に含まれているだけでなく、マップされていないフィールドを含む他のすべてのフィールドも、ここに表示されているように含まれていることに気づきました。

attachment_file_sizeマッピングでattachment_content_typeは定義されていませんが、検索結果に返されます。

これが私の完全な実装です:

誰かが私がすべてのフィールドがに含まれている理由を理解するのを手伝ってもらえます_sourceか?

編集:これは実行の出力ですlocalhost:9200/user_files/_mapping

ご覧のとおり、何らかの理由ですべてのフィールドがマッピングに含まれています。

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

ruby - ElasticsearchJSONクエリに相当するタイヤ

コマンドラインから直接クエリを実行すると非常にうまく機能する標準のJSON形式のクエリがあります。jsonは次のとおりです。

これにより、希望どおりの結果が得られます。

しかし、同等のタイヤクエリに適したシンテックスを見つけることができません。私は試した:

しかし、これは私に構文エラーを与えています:

他のフォーラムでは助けが見つかりませんでした。mustブロックに複数のクエリを入れようとすると問題が発生します。助けてください。

前もって感謝します

-アジタブ

0 投票する
2 に答える
2869 参照

ruby-on-rails - Elastic Search / Tire:アソシエーション属性にマップする方法は?

ElasticSearchにTireを使用しています。私のアプリケーションには2つのモデルがあります。価格と製品。

Priceクラスを検索し、それが属するProductの:name属性を検索フィールドに使用しようとしています。今Product 1、「pro」、「prod」、「duct」という商品を入力しても、結果は出ません。ただし、「product」または「Product」と入力すると結果が表示されます。問題は私のマッピングにあると思います。クエリとその内容を確認しました。

私がそうあるべきだと思うとき:

この質問から判断すると、ElasticSearchマッピングは機能しません

params[:query]でも、どうやって自分だけを服用させるのかわかりませんproduct.name。私は使用しようとしました:string params[:query], default_field: "product.name"しかし、それはうまくいきませんでした。

_allフィールドを使いたくない。

これが私のコードです:

Price.rb

では、製品名のみを使用するようにクエリフィールドを設定する方法を知っている人はいますか?

ありがとうございました。

0 投票する
3 に答える
6914 参照

ruby-on-rails - Elastic Search/Tire: ブール属性をフィルタリングするにはどうすればよいですか?

クラスのプライベート ブール値をフィルタリングして、プライベートではないリソースのみを表示したいのですが、うまくいきません。(私はコードを大幅に削減しました)

これを正しく行うにはどうすればよいですか?

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

ruby-on-rails - Tire を使用した ElasticSearch は、「文字列」検索では nGrams と一致せず、「テキスト」のみと一致します

そのため、nGram マッチングを ElasticSearch インデックスに追加しようとしましたが、次の問題が発生しています。

標準の文字列クエリを実行すると、完全一致のみが返されます。特定のテストフィールドで一致クエリを実行すると、期待どおりの nGram 一致が生成されます。

これら(1) の例(2)に基づいて、フィールドに nGram フィルターとアナライザーをセットアップします。マッピング コードは次のとおりです。

エラスティックサーチ クエリ

結果を生成するクエリ:

結果を生成しないクエリ:

特定の列でテキスト/一致検索を実行するのではなく、一般的な query_string 検索ですべてのインデックス付きフィールドを調べて ngram と一致させる方法はありますか?

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

ruby-on-rails-3 - Tire::Model::Persistence でオブジェクトをインスタンス化する

Tire::Model::Persistence を使用して Elasticsearch をデータストアとして使用する方法を学習しようとしている非常に単純な rails3 アプリがありますが、検索に問題があります (検索の場合)。

これが私のモデルです:

これが私のルートです:

これが私のコントローラーです:

私のindex.html.erb:

上記では、パラメーターなしで index メソッドを表示するだけで、問題なくレンダリングされます。if params[:q] をコメントアウトして、通常の旅行と同じようにすべての投稿を返すようにしました

ただし、その検索ボタンを押すとすぐに、次のエラー メッセージが表示されます: Routing Error

{:action="show", :controller="posts"} に一致するルートはありません

ビュー内の行を <%= link_to ... %> に削除すると、ビューはすべての投稿の名前と published_on テキストでレンダリングされます。

コントローラーで変更した場合:

戻る

Post.allを削除します

次に、テンプレートで次のエラーが発生します。

おそらく私が行っていない簡単なことがあるのですが、それを理解することはできません.現在、唯一のデータストアとしてレールでタイヤを使用するだけの優れた例がないため、これが単にあいまいな問題であるかどうかはわかりません.アクティブレコードを使用していないときに遭遇します。

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

ruby-on-rails - Elasticsearch:添付ファイル内からヒットを強調表示

RailsアプリでElasticsearch(およびTire)でハイライトを機能させるのに問題があります。PDF添付ファイルのインデックスを作成してクエリを実行することはできますが、強調表示を機能させることができません。

ESにあまり詳しくないため、トラブルシューティングの場所がわからない。マッピングとcurlクエリから始めますが、詳細についてはお気軽にお問い合わせください。

マッピング(Curl経由):

125ページのインデックス付きPDF内に「ヒット」があるクエリ:

私は次のようなセクションを期待していました:

助けてくれてありがとう!

Edit2:クエリ(に変更)をattachment無効に調整:attachment.file

Edit3(「フィールド」を削除):

Edit4(アクションチュートリアルの添付ファイルタイプからのマッピング):

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

ruby-on-rails - ElasticSearch スコアリング (Tire gem)

キーワードがフィールドに表示される回数に基づいて結果を返すように、ElasticSearch (具体的には Tire gem) が必要です。たとえば、Article というモデルのフィールドタイトルにインデックスを付けます。最初のオブジェクトのタイトル値は'Funny Funny subject'で、2 番目のオブジェクトのタイトル値は'Funny subject'です。キーワード'Funny'を検索すると、タイトルに 2 つの 'Funny' 単語が含まれているため、最初のオブジェクトが最初に返されるようにインデックスを作成したいと考えています。タイヤ経由でこれを行うことは可能ですか?索引付け方法も何と呼ばれますか?

0 投票する
2 に答える
198 参照

ruby-on-rails - Rails 3アプリでdob日時フィールドを使用してage_fromからage_toを検索する方法は?

タイヤが初めてで、プロファイル モデルで DOB (誕生日) 列を検索する方法を理解しようとしています。

  • age_from と age_to (たとえば 20 から 60 ) を設定できる単純な検索を構築してみてください。
  • dob フィールドしかないので、これを行うにはどうすればよいですか?
  • レコードの作成時に年齢を計算して列に保存し、それを Profile モデルに追加して検索をクリーンにする方がよいでしょうか?

これに対する最善のアプローチは何ですか?どうも