Tire (ElasticSearch Ruby gem) を使用しており、「コミュニティ マーケティング」というキーワードでいくつかのフィールドを一致させたいと考えています。ただし、ElasticSearch が「コミュニティ マーケティング」というキーワードの結果も返すようにしたいと考えています。標準アナライザーは、「コミュニティ」を「コミュニティ」として解析/トークン化しないため、これらは別個のキーワードです。
ElasticSearch から「コミュニティ マーケティング」と「コミュニティ マーケティング」の両方の結果が返されるようにするにはどうすればよいですか? 私はこれをインデックス時ではなく、クエリ時に行うことを好みます。私は、ElasticSearch 標準アナライザーには問題がなく、いじり回したくないと思っています。
fields = ["title", "popular_hash_tags"]
keyword = "communities marketing"
keyword2 = "community marketing"
s = Tire.search "articles" do
query do
match fields, keyword, :operator => "AND"
#NOW I also want to match keyword2??
end
end