是的,每个标签都有唯一的 ID。我不必将这些唯一 ID 存储在表中。我可以这样存储它们……</p>
$tags = array("Music","Sports","Food","Books",………)
数组对我来说是最好的方式,因为它很容易改变。此外,数组键本身将用作唯一 ID。
但我的情况比较危急,所以让我详细说明一下具体情况。
我有一个表,其中包含 Id、Title、Description、Tags 等字段等。
Id | Title | Description | Tags
1 | Sport & Hygine| With sport & music good food is …| Sport, Food
2 | Rock Concert | Great Rock Show at … | Music, Dance
如果用户选择(过滤)来显示记录,则标签字段中有音乐。虽然 Title 和 description 在第二行根本没有 Music 这个词,但还是应该放在第一位。还应该注意的是,标题和描述是文本字段,Sphinx 应该搜索正常的方式,为标题和描述提供适当的权重和排名。但是无法将标签字段作为文本索引进行搜索。标签字段需要过滤。
因此,在上面的示例中,如果选择了音乐,则应该只显示第 2 行,因为它是根据标签过滤的,第 2 行的标签字段中只有音乐。但是音乐也出现在描述字段的第 1 行,但这里应该忽略它。我希望我能够澄清情况。对此的任何支持都将受到高度赞赏。