2013-07-22 6 views
1

전체 텍스트 검색 (파일에서 데이터 검색)과 표준 데이터베이스 검색 (좋아요 등) 사이의 차이점을 알고 싶습니다.전체 텍스트 검색 대 표준 데이터베이스 검색

여기서 주목할 것은 파일에는 데이터 유형이 없지만 데이터베이스에는 특정 데이터에 대한 데이터 유형을 정의 할 수 있다는 것입니다.

나는 이러한 종류의 검색이 더 빠르고, 장점과 단점 모두에 관심이 있습니다.

감사합니다.

답변

7

전체 텍스트 검색에는 몇 가지 장점이 있습니다.

색인 : 같은

뭔가 :

WHERE Foo LIKE '%Bar'; 

인덱스를 활용할 수 없습니다. 매 행마다 살펴보고 일치하는지 확인해야합니다. 그러나 전체 텍스트 색인이 가능합니다. 사실, 전체 텍스트 인덱스는

형태소 분석 등, 그 단어가 서로 얼마나 가까운 일치하는 단어의 순서의 측면에서 더 많은 유연성을 제공 할 수 있습니다

전체 텍스트 검색을 할 수있는 줄기 단어. 을 검색하는 경우을 검색하면 "실행"또는 "실행 중"에 대한 검색 결과를 얻을 수 있습니다. 대부분의 전체 텍스트 엔진에는 다양한 언어로 된 스템 사전이 있습니다.

가중 결과 :

전체 텍스트 인덱스가 여러 열을 포함 할 수 있습니다. 예를 들어 "복숭아 파이"를 검색 할 수 있으며 색인에는 제목, 키워드 및 본문이 포함될 수 있습니다. 제목과 일치하는 결과는 가중치보다 높을 수 있으며 더 관련성이 높으며 맨 위 근처에 표시되도록 정렬 할 수 있습니다.

단점 : 전체 텍스트 인덱스가 잠재적으로 표준 B-TREE 인덱스보다 , 여러 번 클 수 있습니다

. 이러한 이유로 데이터베이스 인스턴스 을 제공하는 많은 호스팅 제공 업체는을 사용하지 않거나 적어도 추가 비용을 부과합니다. 예를 들어, 마지막으로 확인한 바, Windows Azure는 전체 텍스트 쿼리를 지원하지 않았습니다.

전체 텍스트 인덱스를 업데이트하는 속도가 느려질 수도 있습니다. 데이터가 많이 변경되면 표준 색인과 비교하여 지연 색인이 약간 지연 될 수 있습니다.

+0

답변 해 주셔서 감사합니다. 이것은 나를 위해 유용합니다. 하지만 전 텍스트 검색이 백그라운드에서 어떻게 작동하는지 궁금합니다. 내가 필요한 것은 그것에 대해 배울 수있는 참조입니다. 나는 그 모든 것이 작용하는 패턴을 알고 싶다. – zajke

+0

그건 큰 논점이며, SQL Server, Oracle, Postgres 등에서 다릅니다. –

+0

SQL Server, Oracle 또는 Postgres에 상관없이 모든 것이 도움이되었습니다. 참고 문헌을 안다면 고맙겠습니다. 감사. – zajke