狮身人面像和用户排名

时间:2013-06-20 18:51:05

标签: mysql full-text-search sphinx

我有以下mysql表,

id, text, rank

每次我插入一篇文章时,我都会将排名设为1,

1, blah blah, 1

如果不止一个人阅读此文本,则排名将增加一个。

所以我需要的是根据关键字和排名对以下2个文本进行sphinx搜索。

1, blah blah, 2
2, blah blah blah, 6

因此,如果用户搜索关键字“blah”,则结果应为

2, blah blah blah, 6 //first as the ranking is higher
1, blah blah, 2

我不知道该怎么做,我是否需要在sphinx中搜索关键字,然后根据排名对文档的结果进行排序?这不好。

或者,狮身人面像中有什么东西可用于此类问题吗?

我一直在阅读关于狮身人面像文档的排名,但看起来它与文本本身和单词的重量有关。

1 个答案:

答案 0 :(得分:0)

使用Sphinx,您可以将'rank'设置为索引中的整数属性。

属性,直接存储在索引中,可用于排序,过滤等。

然后可以按属性(而不是计算的全文权重)对结果进行排序

http://sphinxsearch.com/docs/current.html#attributes

http://sphinxsearch.com/docs/current.html#sorting-modes