如何搜索sphinx以获取ID为的记录


How to search sphinx for fetching records with ID?

我在PHP项目中使用Sphinx搜索。我需要从Sphinx索引中找到一个ID为的记录。我有ID,只想查询特定记录的Sphinx指数,而不是直接查询数据库。

我的场景:

我在sql表中有标签列表,在另一个表中有笑话列表。我有一个名为"jokes_tags"的连接表,它有两个id。现在我需要获取特定标签的所有笑话。

我的索引:

我正在用以下设置为笑话表编制索引。

sql_query = SELECT entry_id, entry, picture_url,tags,date_added FROM jokes

我的当前流量:

目前,我正在努力寻找一个非常准确的标签(意思是,如果标签是"搞笑笑话",我不想要像"搞笑笑话迷因"这样的匹配)是否可用,如果可用,我会获取它的ID,并在"jokes_tags"中搜索相关的笑话ID。现在我有了jokes ID,并希望从狮身人面像索引中获得所有笑话。

我所做的是对的?

最好将'joke_tags'数据包含在sphinx索引中;因此,只需在查询中使用tag_id,就可以获得笑话列表。MVA非常适合。。。。

sql_attr_multi = uint tag_id from query; SELECT joke_id,tag_id FROM jokes_tags ORDER BY joke_id

然后就可以做了

$cl->setFilter('tag_id',array($tag_id));

使用您在标签表中查找的标签id:)