到目前为止,网络上还没有答案,我指望你的专业知识来应对这个挑战:
考虑到用户键入的关键字的顺序,我需要对我的搜索结果(在产品标题上)进行排名。
例如:用户在搜索栏输入:数码相机佳能123
期望的排名应该是:
- 数码相机佳能123
- 数码相机佳能 123 ABC
- 数码相机佳能123A
- 数码相机canonying
- 数码相机索尼
- 数码摄像机
- 相机佳能123A
- 相机佳能
- 123
- 摄影师 1234
- 炮制
你知道 MYSQL 查询是如何做到这一点的吗?
过滤停用词是一个很好的功能......
多谢!
你试过全文索引吗?
http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html
http://dev.mysql.com/doc/refman/5.0/en/fulltext-natural-language.html
尽管您可能可以通过一些 hack 使用 MySQL 来做到这一点,但我强烈建议您不要这样做。
如果您想通过大量调整选项获得良好且快速的搜索结果,我强烈建议您使用Solr或Sphinx
话虽如此,以下是您问题的真正答案:
搜索特定的词序:MySQL Fulltext with specific word order
过滤停用词相当容易:http ://dev.mysql.com/doc/refman/5.5/en/fulltext-stopwords.html