1

到目前为止,网络上还没有答案,我指望你的专业知识来应对这个挑战:

考虑到用户键入的关键字的顺序,我需要对我的搜索结果(在产品标题上)进行排名。

例如:用户在搜索栏输入:数码相机佳能123

期望的排名应该是:

  1. 数码相机佳能123
  2. 数码相机佳能 123 ABC
  3. 数码相机佳能123A
  4. 数码相机canonying
  5. 数码相机索尼
  6. 数码摄像机
  7. 相机佳能123A
  8. 相机佳能
  9. 123
  10. 摄影师 1234
  11. 炮制

你知道 MYSQL 查询是如何做到这一点的吗?

过滤停用词是一个很好的功能......

多谢!

4

2 回答 2

1

你试过全文索引吗?

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

于 2012-08-22T14:46:17.413 回答
0

尽管您可能可以通过一些 hack 使用 MySQL 来做到这一点,但我强烈建议您不要这样做。

如果您想通过大量调整选项获得良好且快速的搜索结果,我强烈建议您使用SolrSphinx


话虽如此,以下是您问题的真正答案:

搜索特定的词序:MySQL Fulltext with specific word order

过滤停用词相当容易:http ://dev.mysql.com/doc/refman/5.5/en/fulltext-stopwords.html

于 2012-08-22T14:59:10.997 回答