我在开发环境中面临困境。这是一个三表结构:
主要思想是根据文本搜索获取内容记录,怎么办?
First,根据Skip Words表从文本搜索中删除单词,然后将其余单词与标签表进行匹配。但是,我想给出一个“更智能”的结果,例如
[second步骤,我想首先获得与文本搜索中所有剩余词匹配的文章。该记录将是主要记录。
Third步骤,如果在文本搜索的所有单词中都没有匹配的记录,则开始查找与更少的单词匹配的记录并保留它们的数量,依此类推,直到获得内容列表记录。
last步骤显示了根据单词匹配量排序的记录。因此,考虑到这个过程,我认为可以使用:
以上比较标签,使用“类似”条件(and field like "word1%" and field like "word2%"
)
但是,我担心的是表演。这将是主页网站中的一个过程,该网站每小时的访问量超过1700次。非常感谢您可以说明您对这种过程的经验(如果有的话)?或您认为哪种方式是考虑性能的最佳实施方式?
使用FULLTEXT
索引。它涵盖了您要重新发明的一些想法。 1700 / hr没问题。
WHERE MATCH(col) AGAINST('join*' IN BOOLEAN MODE)
匹配联接/联接/联接和联接。