Ruby on Rails -> ThinkingSphinx -> SphinxSearch -> Mysql
我想搜索标题表。预期的用户关键字不会完全匹配,而是部分匹配。
search_key = "android samsung galaxy ace black phones"
搜索titles表,
标题(表)
编号 | 标题
1 | 诺基亚c6
2 | 三星银河王牌
3 | 三星galaxy ace y
4 诺基亚 lumia 800
5 | 三星monte
6 | 三星银河笔记
情况1 :
Title.search search_key, :match_mode => :all
=>No results
评论:不好
案例-2:
Title.search search_key, :match_mode => :any
=>[samsung galaxy ace, samsung galaxy ace y, samsung monte, samsung galaxy note]
评论:好的,但不相关,用户只想要她在关键字中明确指定的“三星银河王牌”。为什么要显示其他三星手机?
案例-3:
Title.search 'search_key/3',:match_mode => :extended
=> samsung galaxy ace
评论:宾果游戏!,但硬编码。
问题:
现在,我应该知道有多少个关键字会在titles 表中得到完全匹配。(例如,“android samsung Galaxy ace 黑色手机”中的“samsung Galaxy ace”的 3)
我该如何解决这个问题?狮身人面像处理这个?如果不是怎么办?