思考sphinx搜索或条件没有找到两个条件数据

时间:2013-07-28 20:09:30

标签: ruby-on-rails ruby sphinx thinking-sphinx

我有db这样的数据(当然是“轻”版本):

id | description
1  | 5W40
2  | 5W-40

我尝试使用这种思维sphinx gem搜索查询:

fields << "(@description #{params[:oiloiliness]} | #{params[:oiloiliness].gsub(/[^0-9A-Za-z]/, '')} )" 

params [:oiloiliness] =“5W-40”

但由于某些原因导致我只看到第二行...... 我做错了什么?

如何使用或运算符使用sphinx进行搜索,并在结果中查看两行?

1 个答案:

答案 0 :(得分:1)

说实话,我不完全确定为什么会这样 - 虽然这是一个Sphinx问题,而不是Thinking Sphinx(所以我添加了Sphinx标签)。解决方法是将两个搜索选项包装在双引号中:

fields << %q{(@description "#{params[:oiloiliness]}" | "#{params[:oiloiliness].gsub(/[^0-9A-Za-z]/, '')}" )}

另外:您可以考虑通过ignore_chars将连字符添加到config/thinking_sphinx.yml列表中。