반응형
하이픈/대시를 사용한 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
반응형
'code' 카테고리의 다른 글
| C#에서 가변 문자열과 불변 문자열의 차이점은 무엇입니까? (0) | 2023.07.27 |
|---|---|
| 웹 작업자가 할 수 없는 서비스 작업자가 할 수 있는 일은 무엇입니까? (0) | 2023.07.27 |
| ASC가 아닌 것을 제거하려면 어떻게 해야 합니까?II 문자는 마침표와 공백을 남깁니다. (0) | 2023.07.22 |
| 파이썬에서 좋은 __hash__ 함수를 구현하는 방법 (0) | 2023.07.22 |
| Spring Security oauth2 클라이언트 - Twitter 문제 (0) | 2023.07.22 |