是否可以在InnoDB引擎中使用带有AND运算符的完整测试搜索进行自然语言模式?我的意思是像下面这样的查询,但根据需要使用所有单词:
SELECT *, MATCH (body) AGAINST ('mysql database') AS score FROM post ORDER BY score DESC;
对于此查询,我希望返回与两个单词匹配的所有记录:"mysql"和"数据库"。我知道我可以使用 + 和布尔模式,但它会导致另一个问题,就像我想忽略的其他运算符一样(*,-,"'..(
添加一个分别测试每个单词的 WHERE
子句:
SELECT *, MATCH (body) AGAINST ('mysql database') AS score
FROM post
WHERE MATCH(body) AGAINST ('mysql') AND MATCH(body) AGAINST('database')
ORDER BY score DESC;