これを行う方法があると確信していますが、何かが欠けているに違いありません。これが私の基本的なセットアップです:
class Tag < ActiveRecord::Base
searchkick word_start: [:name]
end
私がそのように検索すると:
Tag.search('advertising', fields:[{name: :word_start}])
すべて良好。ただし、クエリに次のような複数の単語が含まれている場合:
Tag.search('click to talk', fields:[{name: :word_start}])
'Toys', 'Tools', 'Touch' など、望ましくない結果がたくさん出てきます。おそらく、トークン「to」がそれらの単語の先頭に一致するためです。「広告」を「モバイル広告」に合わせtext_start
たいので使えません。理想的には、クエリの部分一致を防ぎたいだけですが、インデックスでは部分一致を許可します。
私は引用符を試しました:
Tag.search('"click to talk"', fields:[{name: :word_start}])
役に立たないようです。