Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails thinking_sphinx搜索任何术语_Ruby On Rails_Ruby_Thinking Sphinx - Fatal编程技术网

Ruby on rails Rails thinking_sphinx搜索任何术语

Ruby on rails Rails thinking_sphinx搜索任何术语,ruby-on-rails,ruby,thinking-sphinx,Ruby On Rails,Ruby,Thinking Sphinx,我很好奇,是否有任何方法可以将搜索短语中的所有单词都视为“或”语句,并将与任何单词匹配的记录显示出来,最相关的记录放在顶部 比如我把 Transcript.search 'good times' 但只有一个记录,当 Transcript.search 'good | times' 返回20条记录。我也尝试过添加匹配模式 Transcript.search 'good times', :match_mode => :any 但这仍然只返回一条记录。我可以在所有的空格中替换和插入字符串,

我很好奇,是否有任何方法可以将搜索短语中的所有单词都视为“或”语句,并将与任何单词匹配的记录显示出来,最相关的记录放在顶部

比如我把

Transcript.search 'good times'
但只有一个记录,当

Transcript.search 'good | times'
返回20条记录。我也尝试过添加匹配模式

Transcript.search 'good times', :match_mode => :any

但这仍然只返回一条记录。我可以在所有的空格中替换和插入字符串,但我觉得我只是缺少了一些东西。如有任何见解,将不胜感激

我认为你的第二个解决方案是正确的。这是相当容易实现的,比如
search\u terms.split.join(“|”)
。您使用的是什么版本,因为它与
match\u模式特别重要
BTW如果您使用的是>v2,您不会遗漏任何内容。似乎
match_模式
现在总是
:扩展
,这意味着您必须使用
thinking_sphinx
查询语法,从而使用
操作符。好吧,我使用了拆分/联接方法,它似乎工作得很好。我将不得不在那里添加一些其他的修改器来进行更多的测试,但到目前为止还不错。谢谢你的评论!是的,我用的是TS 3.2.4