首页 > 解决方案 > Mariadb布尔全文搜索否定逻辑?

问题描述

在使用 Mariadb 的 FTS(全文搜索)时,以下逻辑非常有趣:

SELECT id, first_name, last_name FROM user 
WHERE MATCH (first_name, last_name) AGAINST ('-veli' IN BOOLEAN MODE);
Empty set (0.001 sec)

SELECT id, first_name, last_name FROM user 
WHERE MATCH (first_name, last_name) AGAINST ('lauri -veli' IN BOOLEAN MODE);
+----------+------------+-----------+
| id       | first_name | last_name |
+----------+------------+-----------+
| 15804835 | Lauri      | Ylikangas |
+----------+------------+-----------+
1 row in set (0.001 sec)

这种奇怪是“好的”,但是如何添加“通用集”以便结果与以下内容匹配?

SELECT id, first_name, last_name FROM user
WHERE NOT MATCH (first_name, last_name) AGAINST ('-veli' IN BOOLEAN MODE);
...
213 rows in set (0.002 sec)

标签: mariadbfull-text-searchlogical-operatorsboolean-mode

解决方案


推荐阅读