我正在使用 sunspot_rails(在 rails3 上)将我的 rails 应用程序连接到 solr 服务器。我真的很想使用 ~ 运算符执行模糊搜索。无论如何,这似乎不受支持。我现在回退到使用 EdgeNGrams,但我对结果并不完全满意。
有什么建议吗?有没有人能够通过 sunspot_rails 进行 Levenshtein 距离搜索?
解决了
Sunspot 提供的adjust_solr_params方法允许您覆盖默认查询解析器,以便您可以使用支持 ~ 的解析器。基本上,我让 Sunspot 使用 lucene 查询解析器设置 defType 参数:
Post.search do adjust_solr_params do |params| params[:q] = 'field_name:foo~' params[:defType] = 'lucene' end end