1

我有一个posts带有 MVA 的索引tag,配置类似于以下内容:

source posts {
    sql_query       = SELECT id, title, text FROM posts;
    sql_attr_multi  = uint tag from query; SELECT postid, tagid FROM tagstoposts
}

现在对于给定的帖子,我想找到具有最接近标签的所有其他帖子,例如

  • 帖子1:猫,可爱,有趣
  • 帖子2:猫,可爱,认真
  • 帖子3:狗,可爱
  • 帖子 4:伊斯兰国

对于帖子 1,我想找到帖子 2(因为它有 2 个匹配的标签),然后是帖子 3(1 个匹配的标签)。如何使用 SphinxQL 执行此操作?

我已经设法使用以下查询得到我想要的东西:

select id, in(tag,55)+in(tag,1321) AS shitfix from posts where match('') and tag in (55,1321) ORDER BY shitfix DESC;

但感觉应该有更好的方法。

4

0 回答 0