• MySQL매뉴얼
    • MySQL 5.6 매뉴얼
    • MySQL 5.1 매뉴얼
    • MySQL 5.0 매뉴얼
    • MySQL HA 매뉴얼
  • 기술문서
    • Xtrabackup 구성
    • 메모리 사용량 모니터링
  • 라이선스
  • 온라인문의
  • 회사소개
  • → 목 록 (MySQL5.6 한글메뉴얼) [close]
  • 1. MySQL 5.6 새로운 기능
  • 2. MySQL 설치 및 업그레이드
  • 3. MySQL Tutorial
  • 4. MySQL 프로그램
  • 5. MySQL 서버관리
  • 6. 보안
  • 7. 백업 및 복구
  • 8. 최적화
  • 9. Language Structure(언어구조)
  • 10. Character Sets(Globalization)
  • 11. 데이터형(Data Types)
  • 12. 함수와 연산자
  • 1. 함수와 연산자 참조
    2. 식 평가 형식 변환
    3. 연산자
    4. 제어 흐름 함수
    5. 문자열 함수
    6. 수치 함수와 연산자
    7. 날짜 및 시간 함수
    8. MySQL에서 사용되는 달력
    9. Full-Text 검색 기능
    1. 자연 언어 텍스트 검색
    2. 불리안 전문 검색
    3. 쿼리 확장을 사용한 전문 검색
    4. Full-Text 스톱 워드
    5. Full-Text 제한
    6. MySQL의 전체 텍스트 검색의 조정
    7. 전문 인덱싱 데이터 정렬 추가
    10. 캐스트 함수와 연산자
    11. XML 함수
    12. 비트 함수
    13. 암호화 함수와 압축 함수
    14. 정보 함수
    15. 공간 분석 함수
    16. 글로벌 트랜잭션 ID와 함께 사용되는 함수
    17. MySQL Enterprise Encryption 기능
    18. 기타 함수
    19. GROUP BY 절에서 사용되는 함수와 수식
    20. 정밀 계산
  • 13. SQL 문법
  • 14. InnoDB 스토리지 엔진
  • 15. 기타 스토리지 엔진
  • 16. 고가용성 및 확장성
  • 17. 리플리케이션
  • 18. MySQL Cluster
  • 19. 파티셔닝
  • 20. Stored Programs and Views
  • 21. INFORMATION_SCHEMA
  • 22. PERFORMANCE SCHEMA
  • 23. 컨넥터 및 API
  • 24. MySQL 확장
  • 25. MySQL Enterprise Edition
  • 26. MySQL Workbench
  • 27. 제약 및 제한
  • 28. MySQL 5.7 새로운 기능

12.9 Full-Text 검색 기능

12.9.1 자연 언어 텍스트 검색
12.9.2 불리 안 전문 검색
12.9.3 쿼리 확장을 사용한 전문 검색
12.9.4 전문 스톱 워드
12.9.5 전문 제한
12.9.6 MySQL의 전체 텍스트 검색의 조정
12.9.7 전문 인덱싱 데이터 정렬 추가

MATCH ( col1 , col2 , ...) AGAINST ( expr [ search_modifier )

sea​​rch_modifier :
   {
        IN NATURAL LANGUAGE MODE
      | IN NATURAL LANGUAGE MODE WITH QUERY EXPANSION
      | IN BOOLEAN MODE
      | WITH QUERY EXPANSION
   }

MySQL에서는 다음과 같은 텍스트 인덱싱 설정 및 검색을 지원합니다.

  • MySQL의 전체 텍스트 인덱싱은 형태 FULLTEXT 인덱스입니다.

  • 전체 인덱스는 InnoDB 또는 MyISAM 테이블에서만 사용할 수 있으며, CHAR , VARCHAR , 또는 TEXT 컬럼에만 만들 수 있습니다.

  • FULLTEXT 인덱스 정의는 테이블을 만들 때 CREATE TABLE 문에서 지정하거나 나중에 ALTER TABLE 또는 CREATE INDEX 를 사용하여 추가 할 수 있습니다.

  • 데이터 세트가 큰 경우는 FULLTEXT 인덱스가 붙어 있지 않은 테이블에로드하고, 그 후에 인덱스를 생성하는 것이 기존의 FULLTEXT 인덱스를 가진 테이블에로드하는 것보다 훨씬 빠릅니다.

전문 검색은 MATCH() ... AGAINST 구문을 사용하여 실행됩니다. MATCH() 는 검색 대상의 컬럼 이름을 쉼표로 구분 된 목록을 지정합니다. AGAINST 는 검색 문자열과 수행 할 검색 유형을 나타내는 옵션의 규정자를 지정합니다. 검색 문자열은 쿼리 평가시 상수 문자열 값으로해야합니다. 예를 들어 테이블 컬럼은 행마다 다를 수 있기 때문에 제외됩니다.

전체 텍스트 검색은 다음의 3 가지 종류가 있습니다.

  • 자연어 검색은 검색 문자열이 인간의 자연적인 언어로 문구 (자유 텍스트 문구)로 해석됩니다. 특별한 연산자는 없습니다. 중지 단어 목록이 적용됩니다. 이들은 InnoDB 검색 인덱스의 경우 innodb_ft_enable_stopword , innodb_ft_server_stopword_table 및 innodb_ft_user_stopword_table , MyISAM 검색 인덱스의 경우 ft_stopword_file 의해 제어됩니다. 자세한 내용은 섹션 12.9.4 "전문 스톱 워드" 를 참조하십시오.

    IN NATURAL LANGUAGE MODE 한정자되어있는 경우 또는 수식이 전혀 지정되지 않은 경우 전체 텍스트 검색을 자연어 검색됩니다. 자세한 내용은 섹션 12.9.1 "자연 언어 텍스트 검색」 을 참조하십시오.

  • boolean 검색은 특별한 쿼리 언어 규칙을 사용하여 검색 문자열을 해석됩니다. 문자열은 검색 할 단어가 포함되어 있습니다. 또한 일치하는 행에 단어가 존재한다 또는 존재해서는 않도록, 혹은 평소보다 단어의 가중치가 높게 또는 낮게되도록 요구 사항을 지정하는 연산자를 포함 할 수 있습니다 . 특정 공통 단어 ​​또는 중지 단어는 검색 인덱스에서 생략 된 검색 문자열에 존재하지 않는 경우 일치가되지 않습니다. IN BOOLEAN MODE 수식은 boolean 검색을 지정합니다. 자세한 내용은 섹션 12.9.2 "불리 안 전문 검색" 을 참조하십시오.

  • 쿼리 확장 검색은 자연어 검색을 개선 한 것입니다. 자연어 검색을 수행 할 때 검색 문자열이 사용됩니다. 그 후, 검색에서 반환 된 가장 관련성이 높은 줄에서 단어가 검색 문자열에 추가 검색을 다시 실행됩니다. 쿼리는 두 번째 검색에서 행을 반환합니다. IN NATURAL LANGUAGE MODE WITH QUERY EXPANSION 또는 WITH QUERY EXPANSION 한정자는 쿼리 확장 검색을 지정합니다. 자세한 내용은 섹션 12.9.3 "쿼리 확장을 사용한 전문 검색" 을 참조하십시오.

FULLTEXT 쿼리의 성능은 섹션 8.3.4 "컬럼 인덱스" 를 참조하십시오.

InnoDB FULLTEXT 인덱스 처리에 대한 자세한 기술 정보는 섹션 14.2.13.3 "FULLTEXT 인덱스" 를 참조하십시오.

전문 검색 제약은 섹션 12.9.5 "전문 제한" 에 나열되어 있습니다.

myisam_ftdump 유틸리티는 MyISAM 전체 인덱스의 내용을 덤프합니다. 이것은 전체 쿼리를 디버깅 할 때 도움이 될 수 있습니다. 섹션 4.6.2 "myisam_ftdump - 전체 텍스트 인덱싱 정보보기" 를 참조하십시오.

서울시 강남구 영동대로 602 6층
TEL: 02-6061-0006  /  E: csr@mysqlkorea.com
주식회사 이노클러스터  등록번호 : 727-86-02261
Copyright © innocluster Co. ltd. all rights reserved