code

하이픈/대시를 사용한 MariaDB 전체 텍스트 검색

starcafe 2023. 7. 27. 22:08
반응형

하이픈/대시를 사용한 MariaDB 전체 텍스트 검색

MySQL 5.6에서 MariaDB 10.1로 이동하고 있으며, 제품 설명 및 제품 번호에 대한 전체 텍스트 색인(InnoDB)을 보유하고 있습니다.많은 수의 제품 번호에 "Pf-2"와 같은 대시/하이픈이 있습니다.MySQL에서 이를 검색하면 "PF"와 "2"가 모두 3자 미만이며 빈 결과가 반환됩니다.마리아DB가 하이픈을 중지/단어 구분 문자가 아닌 문자로 처리하도록 하는 것이 가능합니까?MySQL에서 UTF8 문자 집합으로 이를 수행하는 유일한 방법은 MySQL의 사용자 정의 빌드를 수행하는 것이었습니다.

쿼리 문자열을 따옴표로 묶을 수 있습니다.

select *
from mytable
where  match(mycol) against  ('+"Pf-2"' in boolean mode)>0.0;

다음을 사용하게 되었습니다.

`SELECT * FROM  `Product` WHERE MATCH(`title`, `number`, `shortDescription`, `rawDescription`, `rawColors`)
AGAINST('PF-2' IN BOOLEAN MODE) OR `number` LIKE '%PF-2%'

이상적이지는 않지만 스핑크스가 전체 텍스트 검색을 대체할 수 있을 때까지 작업이 완료되었습니다.

언급URL : https://stackoverflow.com/questions/40941269/mariadb-fulltext-search-with-hyphen-dash

반응형