問題タブ [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 に答える
634 参照

ruby-on-rails - Elasticsearch / Tire:ファセットオーダー

Tireのファセットの順序をどのように指定できますか?

ここに見られるようにElasticsearchで可能です: http ://www.elasticsearch.org/guide/reference/api/search/facets/terms-facet.html

タイヤでは、デフォルトは「カウント」ですが、「用語」の順序に変更する方法がわかりません。

これが私の検索方法です:

終わり

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

ruby-on-rails - 条件付きのインデックスをインポートする方法

Rails 3 に Article という名前のモデルがあり、rake environment tire:import CLASS='Article' FORCE=trueインデックスを作成するために使用します。deletedしかし、フィールドが false に等しい記事だけをインデックスに登録したいのです。どうすれば実装できますか?

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

ruby - ElasticSearchでこのデータをマッピング/クエリする方法は?

私はElasticSearchをタイヤジェムと一緒に使用して、サイトの検索機能を強化しています。必要な結果を得るためにデータをマッピングおよびクエリする方法を理解するのに問題があります。

関連するコードは以下のとおりです。その下にも、望ましいアウトバットについて説明します。

上記のように、「product_traits」フィールドから必要なものを取得するために、elasticsearchとの間でデータの前処理/後処理を行っています。これは正しくないと感じていることであり、私の質問の出所です。

私は製品の大規模なカタログを持っており、それぞれに素材ブランドなどのいくつかの「特徴」があります。これらの特性は非常に多様であるため、特定の製品の特性の値を保持するProductTraitモデルを介して製品モデルに関連する特性モデルを含むようにデータをモデル化しました。

最初の質問は次のとおりです。これらの特性に適切にインデックスを付けるためにelasticsearchマッピングを作成するにはどうすればよいですか?これにはネストされたタイプが含まれていると思いますが、ドキュメントを理解するのに十分な意味がありません。

2番目の質問:ファセットをグループに戻したい(上記の方法の最後で処理している方法で)が、各特性に対して現在選択されている値を考慮せずに、search一致する数を反映するカウントを使用する例:ユーザーが「Glitter」を検索してから「BlueColor」ファセットに対応するリンクをクリックした場合、すべての「Color」ファセットを表示したままにし 、「BlueColor」フィルターなしでクエリ結果に対応するカウントを表示します。 。それが良い説明であることを願っています。さらに明確にする必要がある場合は申し訳ありません。

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

ruby-on-rails - Elasticsearchの同じフィールドで複数のクエリを使用して検索するにはどうすればよいですか?

ElasticSearchとtire.rbを使用して、アイテムのコレクションのインデックスを作成して検索しています。

インデックスの名前フィールドでクエリを実行したい。

アルファロメオという名前のドキュメントがある場合は、次を検索してこのドキュメントを検索します。

  1. 「アルファ」
  2. 「アルファレメオ」(つづりの間違いに注意)

ElasticSearchとtireでは、2つのクエリを別々に設定する方法を知っています。

ワイルドカードで検索する:

ファジー(レーベンシュタイン距離)で検索:

(またはと)組み合わせる方法は?

私がやりたいのは、ワイルドカードまたはあいまい検索が一致するすべてのドキュメントを見つけることです。2つの別々の検索を実行してそれらを組み合わせようとすることもできますが、それはあまり意味がありません。これを論理的な方法で行うことはできますか?

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

ruby-on-rails - ElasticsearchのTiregemで検索結果から_sourceを削除する方法

Elasticsearchで(Tire gemを介して)添付ファイルのインデックスを作成していますが、かなり大きいです。なんらかの理由で、私はこれを予期していなかったので、検索は非常に遅いです。Tire_source (ES)が検索結果にドキュメント全体を含めているためと思われます。これは不要ですが、オフにする方法がわかりません。

ESと直接通信する場合は、ESpartial_fieldsを制限する要素を含めることができます。

タイヤ検索から要素を除外する方法を知っている人はいますか?

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

ruby-on-rails - いくつかの非常に具体的なelasticsearchの質問

Rails + Tire+ElasticSearchについて非常に具体的な質問がいくつかあります。

私はそれについてRailscastを見てきました、そして私はたくさんのドキュメンテーションを読みました、しかし正直に言うとそれは私の頭の上にあります。なかなか把握できない細かい点を理解してくれる人が欲しいです。

これが私のモデルのResource.rbelasticsearch部分です。

  1. 'not_analyzed'はどういう意味ですか?私が読んでいるチュートリアルの多くでは、これを使用しています。分析されていないのに、なぜ含まれているのmapping doですか?
  2. インデックスを使用する目的は何ですか。たとえば、のようなものindexes :id, type: 'integer'です。整数にインデックスを付ける必要があるのはなぜですか?それはパフォーマンスなどに役立ちますか?
  3. URLのアナライザーを変更して、より適切に機能させるにはどうすればよいですか?たとえば、として保存されている場合http://www.dropbox.com、検索dropbox.comしても結果は見つかりませんが、検索されwww.dropbox.comます。さまざまなアナライザーをすべて貼り付けてみましたが、URLに対して実際に機能するアナライザーはありません。
  4. 「本」、「映画」、「テープ」など、複数形で保存されている場合category.name、アナライザーに単数形と複数形に基づいてこの単語を表示するように指示するにはどうすればよいですか。「映画」の検索は機能しませんが、「映画」は機能します
  5. を削除するload: trueと、サイト全体が壊れます。彼はこれをレールキャストで調べましたが、ほんの一瞬でした。つまり、すべての属性(および関連付け)をマッピングに移動し、それを:not_analyzedに変更する必要がありますか?(私はちょうど気づきました...多分私はちょうど自分の質問#1に答えました!)
  6. 一般に、ORに最適なデータの種類と、ANDに最適なデータはどれですか。より多くの結果を得る限り、私は考えているか、より寛大に思えます
0 投票する
1 に答える
141 参照

ruby-on-rails - Elasticsearchでは*すべての*関連付けをマッピングする必要がありますか?

私は1つの巨大なモデルを持っています(それは基本的に私のアプリ全体です)。このモデルには、多対多、:through =>などを含む7つ以上の関連付けがあります。このモデルには、いくつかの単純な属性(タイトル、URLなど)もあります。

インデックス作成で気になるのは、3つまたは4つの単純な属性(タイトル、URL、説明、カテゴリ)だけです。残りは気にしない。

を使用するとすべてが完全に機能しますload: trueが、オフにするとすぐにすべてが壊れます。これを修正する唯一の方法は、すべての関連付けに対して複雑なマッピング、:touch、:touchコールバックなどを追加することです。

これは、3つまたは4つの単純な属性を検索するためだけの膨大な量のコードになるため、これが間違っていることを理解していることを願っています。

何について話しているのかわかりませんが、elasticsearchインデックスを検索しても、IDのリストを返し、通常のレールの方法でループすることはできますか?

ありがとう!

0 投票する
0 に答える
214 参照

ruby-on-rails - 単数形/複数形が見られないタイヤ?

私が読んだすべてから、これはうまくいくはずです。変更するたびにインデックスを再作成しています。

私のカテゴリ名は、「本」、「映画」、「テープ」など、複数形で保存されています。Railsの用語では、これはと同じです@resource.category.name

検索すると機能しますが、検索するとbooks機能しませんbook。単数形または複数形のいずれかを検索して、カテゴリの結果を見つけることができるようにしようとしています

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

elasticsearch - エラスティック検索 JSON をタイヤ互換クエリに変換する方法

次の有効な JSON クエリをエラスティック検索に変換して、Ruby gem の「タイヤ」に相当するものに変換するのに問題があります。どんな助けでも大歓迎です...


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

ruby-on-rails - 言語ごとのタイヤ指数?

Railsモデルに次のタイヤマッピングがあります。

複数の言語をカバーできるようにするための最良の方法は何ですか(英語などを追加したい場合)?