如何匹配除括号中的所有单词? [MySQL的]

时间:2016-06-01 08:47:45

标签: mysql sql

我有这个查询,如果单词test存在,则会给我ID。

SELECT `Topic`.`id`
FROM `topics` Topic
WHERE MATCH(`Topic`.`title`,`Topic`.`body`) AGAINST('+test' IN BOOLEAN MODE)

有没有办法以某种方式过滤它?我只需得到test这个词不在括号中的ids。例如,如果我们有:

id   text
1    some text test some text
2    some text (test) some text
3    some text (text test text) some text
4    test some text

有没有办法只使用Match Against?

获得1-and和4-id

1 个答案:

答案 0 :(得分:1)

不,这不能通过全文搜索来实现,因为这需要搜索知道单词的上下文,但全文索引仅索引单词。也许你可以使用正则表达式(rlike运算符),但不能使用全文搜索。