acts_as_ferret
acts_as_ferretでの全文検索において「非日本語で検索すると、全件にヒットしてしまう」というバグに悩んでいたが、原因がわかった。
t = @use_surface ? @n.surface : features[6]
を非日本語に対して実行すると、tに'*'が入ってしまうので、Ferretはそれをワイルドカードと認識していた、と。
t = @use_surface ? @n.surface : features[6] t = @n.surface.downcase if t == '*'
でとりあえず回避。