【发布时间】:2012-04-24 13:11:58
【问题描述】:
Ruby on Rails -> ThinkingSphinx -> SphinxSearch -> Mysql
我想搜索titles 表。预期的用户关键字不会完全匹配,而是部分匹配。
search_key = "android samsung galaxy ace black phones"
搜索titles表,
标题(表格)
标识 |标题
1 |诺基亚 c6
2 |三星银河王牌
3 |三星 Galaxy ace y
4 |诺基亚 lumia 800
5 |三星蒙特
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 black 手机”中的“samsung galaxy ace”的3)
我该如何解决这个问题?狮身人面像处理这个?如果不行怎么办?
【问题讨论】:
标签: mysql full-text-search sphinx thinking-sphinx partial