Mysql 풀텍스트 인덱스(FullText Index)는 텍스트 검색 시 사용하는 방법입니다. 풀텍스트 인덱스(FullText Index) 를 사용하기 위해서는 몇 가지 조건이 필요합니다. 해당 칼럼의 데이터형식이 CHAR, VARCHAR, TEXT일 때만 사용할 수 있습니다. 예제를 통해 사용법을 알아 보도겠습니다.
풀텍스트 인덱스(FullText Index) 사용하기
풀텍스트 인덱스(FullText Index)를 사용하기 위해서는 먼저 텍스트 검색을 할 컬럼을 정해야 합니다. 해당 칼럼의 데이터형식이 CHAR, VARCHAR, TEXT 여야 하고, Mysql InnoDB 또는 MyISAM 데이터베이스 엔진을 사용해야 합니다. 이 조건에 맞다면 해당 칼럼에 풀텍스트 인덱스(FullText Index)를 생성하면 됩니다.
풀텍스트 인덱스(FullText Index) 생성하기
예제 소스를 위해 임의 컬럼명을 지정하겠습니다. TITLE, CONTENT 2개의 칼럼을 이용해서 풀텍스트 인덱스(FullText Index) 생성하는 예제 소스를 알아보겠습니다. 테이블명은 TEST_TABLE로 정하겠습니다.
ALTER TABLE TEST_TABLE ADD FULLTEXT('TITLE', 'CONTENT');
※ 위 쿼리는 TEST_TABLE 테이블이 이미 생성이 되어있다고 정의하고, 풀텍스트 인덱스(FullText Index)만 생성하는 소스입니다.
풀텍스트 인덱스(FullText Index)를 이용한 검색하기
풀텍스트 인덱스(FullText Index)도 생성했으면, 이제 검색을 하는 방법에 대해서 알아보겠습니다. 풀텍스트 인덱스(FullText Index)에서 검색시 필요한 함수 2가지가 있습니다. MATCH 와 AGAINST 입니다.
SELECT * FROM TEST_TABLE WHERE MATCH(TITLE, CONTENT) AGAINST('비트코인');
※ 위 쿼리는 TITLE, CONTENT 칼럼에 '비트코인'이라는 검색어가 있는 데이터를 찾는 방법입니다. 전체 텍스트에 대해서 검색을 하는 기본 검색 모드입니다.
마무리
이번 시간에는 풀텍스트 인덱스(FullText Index)에 대해서 간단히 알아봤습니다. 제가 알려드린 내용은 기본적인 검색 모드이며, 더 정밀한 검색이 가능한 모드도 있습니다. 더 정밀한 검색에 대해서는 제가 아직 경험해 보지 못해 못 알려드렸고요 나중에 경험해 보고 또 자세히 알려 드리도록 하겠습니다.
'웹이야기' 카테고리의 다른 글
리액트(React) 개발 장점 및 웹 사이트 유형 (0) | 2024.11.20 |
---|---|
리액트(React) 동적 웹 서비스 개발 (0) | 2024.11.19 |
CSS Text, Background-color Blink (0) | 2023.02.14 |
JAVA : 새로운 시작 (0) | 2019.12.11 |
아이린소프트 공식 홈페이지 리뉴얼 완료! (0) | 2015.01.21 |