Elasticsearch の実装に Tire を使用しています。私の環境は Linux,Rails 3.2 with Ruby 1.9.3 です。gem Tire(0.5.8) の助けを借りて、Elasticsearch を使用してインデックスを作成できます。しかし、パフォーマンスを向上させるために、インデックス付きデータから表示されるデータを取得し、データベースにヒットしないようにしたいと考えています(INSERTとUPDATEのみにdbを使用したい)。
これを達成するために、私は以下のコードを使用しています:
result = Tire.search 'jobs', load: true do
query do
string "is_active:1"
end
filter :range, status: {gte: 0 }
sort { by :created_at, 'desc' }
end
return result.results
load:true を使用しているため、不要なデータベース (MySQL) にヒットします。しかし、load 属性を削除すると、結果が得られません。上記のテーブルのすべての列にインデックスが付けられていることを確認できます ("xxx:9200/jobs/_mapping?pretty=1")。
どうすればそれを達成できるか提案してください。
ありがとう。