http://www.mysqlkorea.co.kr
한글매뉴얼 5.0 , 한글매뉴얼 5.1 , MySQL 5.1 HA , 사용자매뉴얼
공지사항  
뉴스  
질문과 답변
DBA
Developer
Cluster
토크박스  
이벤트  
서포트 티켓  
최신글
mysql db 백업과 …
delete from~ 시 …
mysqldump 의 에…
파티션 테이블에 …
mysql Query
 
질문과 답변 (DBA) > 커뮤니티 존 > 질문과 답변 (DBA)
FULLTEXT 검색 관련 문의 드립니다.
글쓴이 : 반화넬   날짜 : 17-01-06 11:02   조회수 : 337
"제목등록테스트" 단어에서
select * from TBNAME where "제목등록테스트" like '%등록%'
결과값과 동일하가 FULLTEXT 검색을 하고 싶은데요 가능한지 아시는분 답변 부탁드리겠습니다.

SELECT * FROM TBNAME MATCH("제목등록테스트") AGAINST ('등록*' IN BOOLEAN MODE)
SELECT * FROM TBNAME MATCH("제목등록테스트") AGAINST ('+"등록"" IN BOOLEAN MODE)

등으로 해보는데도 검색이 안되서요 .
원래 안되는건지 아니면 제가 잘못한건지 아시는분 답변 부탁드릴께요
royster
1. 해당 컬럼이 fulltext index로 지정되어 있는지 확인.
2. fulltext index 검색어 길이 설정 제한 여부(버전 5.6이상부터 innodb fulltext 지원)

EX) SELECT * FROM tbl WHERE MATCH (컬럼명) AGAINST ('등록*' IN BOOLEAN MODE)

NOTE) fulltext index 단어의 최소 길이와 최대 길이의 구성

인덱스가 붙은 단어의 최소 길이와 최대 길이는
InnoDB 검색 인덱스의 경우 innodb_ft_min_token_size 및 innodb_ft_max_token_size

MyISAM 검색 인덱스의 경우는 ft_min_word_len 및 ft_max_word_len 에서 정의됩니다.
이러한 옵션 중 하나를 변경 한 후 변경 사항을 적용하기 위해 FULLTEXT 인덱스를 다시 작성하십시오.

예를 들어, 2 글자 단어를 검색 가능하게하려면 옵션 파일에 다음 줄을 놓습니다.

[mysqld]
innodb_ft_min_token_size = 2
ft_min_word_len = 2
반화넬
Myisam 엔진이구요 최소길이 설정은 2로 되어 있는 상태입니다.
등록 된 data 가 "우리나라" 일 경우에 "우리"로 검색하면 검색이 되구용
"나라"를 검색하면 검색되지 않는것 같습니다.
"우리 나라" 로 등록 후에 "우리" "나라" 둘다 검색이 되구요.
단어가 구분되어 있으면 검색이 되는데 구분되어 있지 않고 붙어 있을경우는 검색이 안되는것 같아서 입니다.
royster
'apple*' -> "apple", "apples", "applesauce ','applet '등의 단어가 포함 된 행을 검색합니다.

불리언 검색 사용법은  13.9.2 불리언 전문 검색 레퍼런스를 읽어보기 바랍니다.

http://dev.mysql.com/doc/refman/5.7/en/fulltext-boolean.html
이전글 mysql 초보입니다. 신규 업무추가로 인해 스테이지 db로 구성을 하려고 합니다. 
다음글 Mysql 리플리케이션(정상상태) 동기화 되지 않는 현상 문의드립니다. 
MySQL Korea 사이트의 컨텐츠 소유권은 (주)상상이비즈에 있으므로 무단전재를 금합니다.
ⓒ 2010-2011 ssebiz All Rights Reserved.