Rails で ElasticSearch gem Searchkick を使用しており、次の 2 つの値に基づいて検索を実行したいと考えています。
- params[:full_text_query]
- params[:only_from_this_location]
1 つはすべてのフィールドの全文を検索する必要があり、もう 1 つは 1 つのフィールドに部分的に一致するレコードのみに検索を制限する必要があります。
私はこのようなものが欲しい:
Post.search(params[:full_text_query], where: { location: params[:only_from_this_location] })
ただし、正確な値だけでなく部分的な値も一致させるには、場所フィルターが必要です。「New York」だけでなく、「New York, US」もそうです。SQL で行う %something% のように。
ページネーションのサポートも必要なので、1 つのクエリにする必要があります。
私のオプションは何ですか?