2012-01-18 2 views
0

내 웹 사이트에는 사용자가 여러 테이블과 열을 검색 할 수 있어야한다는 요구 사항이 있습니다. 그래서 전체 텍스트 검색을 사용하여이를 구현하려고합니다.전체 텍스트 인덱스 디자인 고려 사항 (SQL Server 2008)

다음과 같은 문제에 대해 FTS 경험이 많은 사람으로부터 의견을 얻고 싶습니다.

  1. FTS는 단일 검색에서 같은 테이블에서 여러 열을 검색 할 수 있지만

    , 나는 하나의 검색에 여러 테이블에서 여러 열을 검색 할 수있는 옵션을 확인할 수 없습니다. 이 사실이 사실입니까?

  2. 여러 테이블을 검색하기 위해 여러 번 검색해야하는 경우 각 테이블의 인덱스를 다른 전체 텍스트 카탈로그에 저장하는 것이 합리적입니까? 마법사는 더 큰 테이블을위한 새로운 카탈로그를 추천하는 것처럼 보이지만이 경우 "큰"의미가 무엇인지 전혀 알지 못합니다.

  3. 마지막으로 테이블의 한 열에있는 일치가 다른 열에 일치하기 전에 결과를 정렬하고 싶습니까?

답변

0

1.While FTS 내가 단일 검색에서 여러 테이블에서 여러 열을 검색 할 수있는 옵션을 확인할 수 없습니다, 당신은 하나의 검색에서 같은 테이블에서 여러 열을 검색 할 수 있습니다. 사실 사례입니까?

단일 테이블의 FTIndex에는 다른 테이블의 열을 포함 할 수 없습니다. 그래서 일반적으로 여러 검색어 (# 2에서 언급 한 검색어)를 작성하도록 쿼리를 작성하면됩니다.

또 다른 옵션은 여러 테이블에 걸쳐있는 인덱싱 된 뷰 (see requirements)를 만든 다음 뷰의 맨 위에 FTIndex를 빌드하는 것입니다. 나는 이것이 가능하다고 믿지만, 확실하게 시험해야한다. 나는 여러 테이블에 걸쳐 검색하기 위해 여러 검색을 필요 2.If

, 그것은 다른 전체 텍스트 카탈로그에 각 테이블에 대한 인덱스를 넣어 의미가 무엇입니까? 마법사는 더 큰 테이블에 대한 새 카탈로그를 추천하는 것 같지만이 경우 "큰"의미가 무엇인지 전혀 알지 못합니다.

은 카탈로그가 논리적 그룹이므로 SQL2008에서 차이를 만들지 않아야합니다. 그러나 디스크 하위 시스템을 사용하는 경우 다른 파일 그룹에 FTIndex를 넣는 것이 좋습니다. 다른 디스크의 파일 그룹에서 테이블을 분할하여 IO를 분산시키는 것과 비슷한 고려 사항이 있습니다.

3. 마지막으로 테이블의 한 열에 일치하는 항목이 다른 열과 일치하기 전에 결과를 주문하고 싶습니까? 이것이 가능하다고 생각하지 않습니다 ...

관련 문제