我有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进行搜索,并在结果中查看两行?
答案 0 :(得分:1)
说实话,我不完全确定为什么会这样 - 虽然这是一个Sphinx问题,而不是Thinking Sphinx(所以我添加了Sphinx标签)。解决方法是将两个搜索选项包装在双引号中:
fields << %q{(@description "#{params[:oiloiliness]}" | "#{params[:oiloiliness].gsub(/[^0-9A-Za-z]/, '')}" )}
另外:您可以考虑通过ignore_chars将连字符添加到config/thinking_sphinx.yml列表中。