是否可以在InnoDB引擎中使用AND运算符进行自然语言模式的完整测试搜索?我的意思是如下所示的查询,但是根据需要包含所有单词:
SELECT *, MATCH (body) AGAINST ('mysql database') AS score FROM post ORDER BY score DESC;
对于此查询,我想要返回所有匹配两个单词的记录:' mysql'和'数据库'。我知道我可以使用+和BOOLEAN模式,但它会导致其他问题,比如我想忽略的其他运算符(*, - ,"' ..)
答案 0 :(得分:1)
添加一个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;