我正在尝试确定在我的站内搜索引擎中使用 match 的最佳方式。我想要最有效和最快的方法来做到这一点。我有两种 sql 语句选择:
SELECT *, MATCH(keywords) AGAINST
('keyword keyword2 keyword3' IN BOOLEAN MODE) AS relevance
FROM `table1`
WHERE MATCH(keywords) AGAINST ('keyword keyword2 keyword3'
IN BOOLEAN MODE)
ORDER BY relevance DESC;
关键字列包含描述记录的关键字,我手动执行(手动索引)。这些列被索引为 FULLTEXT INDEX。
其他sql是:
SELECT *, MATCH(column1,column2,column3) AGAINST
('keyword keyword2 keyword3' IN BOOLEAN MODE) AS relevance
FROM `table1`
WHERE MATCH(column1,column2,column3) AGAINST ('keyword keyword2 keyword3'
IN BOOLEAN MODE)
ORDER BY relevance DESC;
其中三列是包含匹配数据的列。
我对比赛的概念还是陌生的。所以,我还在四处试验。我想知道我应该使用哪一个。另外,我还有一个关于短语的问题。我在“”之间的关键字中添加了一个短语。虽然,当我尝试搜索它时,即使我在 sql 语句中添加了 + 之前。我只能用一个词来匹配这个短语。感谢您的宝贵时间并感谢您的任何评论。我正在使用mysql。