最近、Ruby on Rails で Elasticsearch を試しています。複数形のキーワードと複数形でないキーワードの両方でアイテムを検索できるように、データのインデックス作成に問題があります。
Tire では、マッピング属性ごとにアナライザーを割り当てることができます。
mapping do
indexes title, analyzer: 'snowball'
indexes body, analyzer: 'snowball'
end
ここで、「テスト」というタイトルにキーワードがあるとします。
クエリで属性を使用して検索を行う場合: http://localhost:9200/myindex/mymapping/_search?q=title:test 動作します。
ただし、次のように属性を指定せずに一般的な検索を行うと:
http://localhost:9200/myindex/mymapping/_search?q=test
ドキュメントが見つかりません。
検索する属性を指定する必要がないように、デフォルトのアナライザーを「スノーボール」にすることを指定するにはどうすればよいですか?
ps私はTire Gemを使用しています。ですので、その点を考慮したうえでの回答をお願いします。