我有以下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中搜索关键字,然后根据排名对文档的结果进行排序?这不好。
或者,狮身人面像中有什么东西可用于此类问题吗?
我一直在阅读关于狮身人面像文档的排名,但看起来它与文本本身和单词的重量有关。
答案 0 :(得分:0)
使用Sphinx,您可以将'rank'设置为索引中的整数属性。
属性,直接存储在索引中,可用于排序,过滤等。
然后可以按属性(而不是计算的全文权重)对结果进行排序