私はTire gem(ElasticSearch用)と一緒にRailsを使用しています。複数のモデルを検索する必要があります。何かのように:多くの種類のElasticSearch検索
# title is a field in all models
Tire.search :tasks, :projects, :posts, { :title => "word" }
(Luceneの)ドキュメント指向され、私は私がモデルを一つずつ検索し、これらの結果を処理することができます知っているが、それはElasticSearchを考慮に、不要なはずです。
どのような考えですか?
ありがとう、
こんにちは、ユースケースは何ですか? ActiveModelインテグレーションは、確実に1つのモデルごとに検索方法を公開します。しかし、あなたの例のように 'Tire.search'メソッドを使うと、実際に複数のインデックスを検索することができます。つまり、レコードは、あなたのモデルクラスではなく、 'Tire :: Results :: Item'クラスにラップされます。しかし、これは私がとにかく重くなっている動作です。結果をこのフリーフォームクラスでラップしてから、「実際のモデル」をロードする方法を提供します。 https://github.com/karmi/tire/issues/11およびhttps://github.com/karmi/tire/issues/12の問題を参照してください。 – karmi
@karmi、私は 'Tire.search {...}'を試みましたが、少なくとも現在バージョン0.1.13でサポートしていませんでした。私はできるだけ早く私の宝石のバージョンを更新します。とにかく、同じインデックスで検索しているときに、必要に応じて 'type'を使ってフィルタリングすることは、私たちの場合にはうまくいきます。お返事をありがとうございます。 –