'FTS'에 해당되는 글 2건

  1. 2009/03/31 Bywoong MSSQL : 전문검색(Full Text Search) 간단정리
  2. 2009/01/28 Bywoong MSDN : 전체 텍스트 검색(Full Text Search) 개요
[알림] 삭제된 동영상 및 이미지나 깨진 링크, 저작권에 문제가 될 소지가 있는 내용은 이곳에 알려주시면 바로 조치하도록 하겠습니다. 감사합니다. - Fortune Cookie

 

전문검색(Full Text Search)

Text형과 같은 색인을 생성할 수 없는 컬럼에 색인을 만들어서 검색시 속도를 빠르게 향상 시키는 기능입니다.

 

전문검색이 일반SQL색인과의 차이점(MSSQL)

  1. DB에 저장되지 않으며, 별도의 파일로 색인이 저장된다.
  2. 자동으로 갱신되지 않으며, 스케쥴을 사용하거나 관리자가 필요시 갱신작업을 한다.
  3. INDEX를 사용하지 않고, 저장프로시저를 사용하여 생성한다.
  4. TABLE마다 하나의 색인이 존재한다.
  5. 카탈로그로 그룹화가 가능하다.

SQL200 Full Text Search 서비스 구축 관련글 : http://sqler.pe.kr/sql2k/152.asp

 

관련링크

2009/03/31 14:07 2009/03/31 14:07
관련글타래
    받은 트랙백이 없고, 댓글이 없습니다. 2761번 조회되었습니다.

    댓글을 달아 주세요

    [로그인][오픈아이디란?]

    구독안내 주 2~3회 새글이 올라옵니다. 블로그 방문없이 업데이트 되는 글을 구독하세요. RSS . E-Mail . HanRSS . WZD . Google Reader . Bloglines . Delicious Bookmark this on Delicious
    [알림] 삭제된 동영상 및 이미지나 깨진 링크, 저작권에 문제가 될 소지가 있는 내용은 이곳에 알려주시면 바로 조치하도록 하겠습니다. 감사합니다. - Fortune Cookie

     

    이글의 출처는 MSDN(http://technet.microsoft.com/ko-kr/library/ms142547.aspx) 입니다.

     

    1. 전체 텍스트 검색(Full Text Search) 개요

     

    1) 전체 텍스트 검색 소개

    지원하는 SQL Server Edition

    Express Edition을 제외한 모든 버전.

    Express Edition의 경우 별도의 서비스를 추가로 설치할 경우 가능하다고 합니다.

    자세한 정보는 다음 링크를 참조하세요. SQL Server Features Comparison

    특장점

    - 특정 언어의 규칙을 기준으로 단어와 구에 적용되어 언어 검색.(구 검색 및 근접 단어 검색)

    - 수백만 개의 텍스트 데이터 행에 대한 LIKE 쿼리에 비해 빠르다.(전자가 수 분이라면, 후자는 수 초 이내)

    - char, varchar, nvarchar,text, ntext 뿐 아니라 varbinary(max), image등에 저장된 MS Word 문서와 같이 서식 있는 이진 데이터에 대해서도 검색 수행, LIKE는 불가


    전제조건

    - 테이블에 고유한 단일 열 필요

    검색 처리

    - 검색 엔진이 검색 조건과 일치하는 행의 키 값을 SQL Server에 반환.

     

    2) 체 텍스트 검색 아키텍처

    사용자 삽입 이미지

    * 전용 검색 엔진이 존재합니다. (MSFTESQL)

    구성 프로세스

    - SQL Server 프로세스(Sqlserver.exe)

    - SQL Server용 Microsoft 전체 텍스트 검색 엔진 프로세스(Msftesql.exe)

    - Microsoft 전체 텍스트 검색 엔진 필터 데몬 프로세스(Msftefd.exe)

    프로세스 별 용도는 다음과 같다.

    ㄱ. SQL Server 프로세스

    : 사용자 테이블(인덱싱 대상 데이터)과 키 맵(전체 텍스트 키 열의 데이터 값과 내부 문서 ID 간의 매핑))

    : Microsoft 전체 텍스트 Gatherer(전체 텍스트 카탈로그 모니터링, 인덱스 채우기를 예약 및 수행)

    ㄴ. MSFTESQL

    : 전체 텍스트 카탈로그 채우기 및 관리

    : 전체 텍스트 검색을 지원

    : 다음의 구성요소를 호스팅

    i) 필터 데몬 관리자 : MSFTEFD 프로세스 상태 모니터링

    ii) 인덱서 : 인덱싱된 토큰 저장을 위한 반전된 인덱스 구조 작성

    iii) 동의어 사전 파일 : 검색어의 동의어 포함

    iv) 의미 없는 단어 파일 : 검색은 자주 되지만 의미 없는 단어 목록

    v) 단어 분리기 : 대상 데이터에 대한 언어 분석 수행. 텍스트 스트림에서 단어의 경계를 결정.

    vi) 형태소 분석기 : 지정된 단어의 어근 추출(running, ran, runner -> 어근 = run)

    * 쿼리가 FREETEXT 쿼리이거나 활용 형태상의 확장을 요구하면 형태소 분석기를 호출합니다.

    ㄷ. MSFTEFD

    : 인덱싱 프로세스 수행 중 MSFTESQ 서비스에 의해 시작된다.

    : 다음의 구성요소 호스팅

    i) 프로토콜 처리기 : 테이블의 데이터 액세스

    ii) 필터 : 문서에서 텍스트 스트림 추출하고 서식정보 제거

    iii) 단어 분리기 및 형태소 분석기

    내부 테이블

    - fulltext_index_map : 전체 텍스트 키 열 및 문서 내부 ID간 매핑 정보

    - fulltext_catalog_freelist : 사용하지 않는 문서 ID

     

    3) 전체 텍스트 검색 관리

    4가지 기본작업

    - 전체 텍스트 인덱스 및 전체 텍스트 카탈로그 만들기

    - 기존의 전체 텍스트 인덱스 및 카탈로그 변경

    - 기존의 전체 텍스트 인덱스 및 카탈로그 삭제

    - 인덱스 채우기 일정 및 유지 관리

    4가지 수행 수준

     

    - 서버 수준

    resource_usage와 같은 서버 차원의 특정 속성을 설정하여 전체 텍스트 서비스에 사용되는 시스템 리소스의 양을 조절

     

    - 데이터베이스 수준

    MSFTESQL 서비스 설정 및 해제

    데이터베이스에 하나 이상의 전체 텍스트 카탈로그에 대한 메타데이터를 관리

     

    - 테이블 수준

    전체 텍스트 지원 설정

    테이블의 전체 텍스트 정의가 변경되면 관련된 전체 텍스트 카탈로그를 다시 채워 전체 텍스트 인덱스와 새로운 전체 텍스트 정의를 동기화

     

    - 열 수준

    전체 텍스트 쿼리를 지원하는 열 관리

    전체 텍스트 카탈로그에 전체 텍스트 인덱스 배치 : 중요

    - 전체 텍스트 고유 키에 가장 작은 인덱스 선택(4바이트 정수 기반 인덱스 추천)

    최대 크기는 900바이트, 초과할 경우 전체 텍스트 채우기를 계속할 수 없습니다.

    - 수백 만 개의 행을 가진 테이블의 인덱스를 만들 때는 테이블을 자신의 전체 텍스트 카탈로그에 할당.

    - 변경되는 행 수와 마지막 전체 텍스트 채우기에서 나타난 테이블 행 수가 수백만 개이면 전체 텍스트 카탈로그에 할당

    2009/01/28 13:38 2009/01/28 13:38
    관련글타래
      받은 트랙백이 없고, 댓글이 없습니다. 1316번 조회되었습니다.

      댓글을 달아 주세요

      [로그인][오픈아이디란?]

      구독안내 주 2~3회 새글이 올라옵니다. 블로그 방문없이 업데이트 되는 글을 구독하세요. RSS . E-Mail . HanRSS . WZD . Google Reader . Bloglines . Delicious Bookmark this on Delicious