Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.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 更好的思考斯芬克斯结果_Ruby On Rails_Ruby_Sphinx_Thinking Sphinx - Fatal编程技术网

Ruby on rails 更好的思考斯芬克斯结果

Ruby on rails 更好的思考斯芬克斯结果,ruby-on-rails,ruby,sphinx,thinking-sphinx,Ruby On Rails,Ruby,Sphinx,Thinking Sphinx,我最近开始玩thinking sphinx gem,并在运行搜索方面取得了巨大成功,但我注意到,由于某些原因,某些搜索没有返回正确的记录 config/thinking_sphinx.yml development: mysql41: 3313 morphology: stem_en 指标/产品指数.rb indexes :title lib/tasks/my_rake_task.rake term = "Garmin Edge 500 GPS Enabled Computer" @

我最近开始玩thinking sphinx gem,并在运行搜索方面取得了巨大成功,但我注意到,由于某些原因,某些搜索没有返回正确的记录

config/thinking_sphinx.yml

development:
  mysql41: 3313
  morphology: stem_en
指标/产品指数.rb

indexes :title
lib/tasks/my_rake_task.rake

term = "Garmin Edge 500 GPS Enabled Computer"
@product = Product.search Riddle::Query.escape(term), ranker: :none 
rake任务应与“Garmin Edge 500 GPS Cycle Computer”数据库中的标题匹配,但由于某些原因,它返回一个空数组。当我删除术语“Enabled”时,它返回记录

我只是想知道是否有一种简单的方法可以提高搜索的准确性?

嗨,保罗(刚刚回复了TS列表,但这里是我的回复,并附有示例):

你要做的事情(匹配一些但不一定是所有的单词)有点棘手,但这里有几件事需要注意:

如果要匹配任何单词,而不是所有单词,可以在每个单词之间插入|的(|是斯芬克斯的或)。还有仲裁运算符,但这可能更难,因为您无法控制用户可以输入多少术语。

不管是哪种方式,您都将分割用户提供的查询以计算或分割单词,这有点烦人,但可能是值得的


希望这有帮助。

嗨,帕特,这确实给了我一些东西可以看。对于您给出的两个示例,我现在都得到了结果,因此,通过进一步的工作,我确信我可以进一步筛选此列表。
# Using ORs
Product.search "Garmin | Edge | 500 | GPS | Enabled | Computer"
# Using quorum
Product.search '"Garmin Edge 500 GPS Enabled Computer"/4'