Ruby on rails 更好的思考斯芬克斯结果
我最近开始玩thinking sphinx gem,并在运行搜索方面取得了巨大成功,但我注意到,由于某些原因,某些搜索没有返回正确的记录 config/thinking_sphinx.ymlRuby 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" @
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'