MYSQL에서 MATCH ( name ) AGAINST 사용 질문입니다.

MYSQL에서 MATCH ( name ) AGAINST 사용 질문입니다.

QA

MYSQL에서 MATCH ( name ) AGAINST 사용 질문입니다.

본문

LIKE '% %' 검색이 느려서 MATCH AGAINST 를 사용을 하는데요.

 

예를 들어 name 필드에 값이

 

1. 홍길동&장동건

2. 현빈

3. 홍길동

 

MATCH ( name ) AGAINST ( '홍길동' ) 이렇게 검색 조건을 주면

 

3행 홍길동 데이터만 출력이 되는게 맞나요?

 

1. 홍길동&장동건

3. 홍길동

 

이렇게 '홍길동'이 포함된 모든 행이 나오도록 하려면 조건을 어떻게 주어야 할까요?

이 질문에 댓글 쓰기 :

답변 4

다음과 같이 해보시는건 어떨까 합니다.


SELECT * FROM table_name WHERE MATCH (name) AGAINST ('홍길동' IN BOOLEAN MODE);

SELECT * FROM table_name WHERE MATCH (name) AGAINST ('+홍길동' IN BOOLEAN MODE);

앞에 +를 넣어주는게 더 정확한 값을 가지고 오실수 있습니다.

match (name) against ('홍길동*' in boolean mode);

답변 감사드립니다.

그런데 쿼리시 결과가 나오지 안네요ㅠ

1. 홍길동&장동건
3. 홍길동

'홍길동' 키워드가 들어간 행 모두가 나오게 하려면 어떻게 조건을 줘야 할까요

답변을 작성하시기 전에 로그인 해주세요.
전체 671
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT