programing

mySQL - 하나의 필드에서 큰 키워드 목록의 컨텍스트 찾기

muds 2023. 9. 28. 08:49
반응형

mySQL - 하나의 필드에서 큰 키워드 목록의 컨텍스트 찾기

저는 이것에 실망하고 있습니다.

Maria MySql DB에 다음과 같은 데이터를 포함하는 필드가 있습니다.

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)'

키워드를 사용하여 표를 만들 수도 있습니다.그럼 a를 사용합니다.NOT EXISTS의 소리와 함께RLIKE

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

테스트는 여기서 확인할 수 있습니다.

언급URL : https://stackoverflow.com/questions/52355971/mysql-find-context-of-a-big-list-of-keywords-in-one-field

반응형