mySQL - 在一个字段中查找大量关键字的上下文

mySQL - Find Context of a big List of Keywords in one field

我对这个很失望。

我的 Maria MySql 数据库中有一个字段包含如下数据:

Dummydata Dummydata

Dummydata Dummydata 15

Dummydata 124578 KEYWORD

它也可以在最后一行看起来像这样:

Dummydata 124578KEYWORD

Dummydata 124578-KEYWORD

等等

现在我有大约 3000 个关键字的列表,这些关键字需要在我的结果中排除,这基本上是我唯一的标准。

我试过这样

AND NOT (FIELD LIKE '%KEYWORD1%' OR FIELD  LIKE '%KEYWORD2%')

这里只是重新调整一切,就像被忽略了一样

AND NOT (FIELD IN ('%KEYWORD1%','%KEYWORD2%')')

这里好像只搜索了第一段

好像不行:(

你能帮忙吗?

只有几个关键词,你可以使用NOT REGEXP / NOT RLIKE

AND FIELD NOT RLIKE '[0-9]+[ -]?(keyword1|keyword2|keyword3)'

您还可以使用关键字创建 table。然后使用 NOT EXISTSRLIKE

AND NOT EXISTS
(
   SELECT 1
   FROM wordstoavoid w
   WHERE t.FIELD RLIKE CONCAT('[0-9]+[ -]?', w.word)
);

可以找到一个测试here