의미 체계 검색(SQL Server)

통계 의미 체계 검색은 통계적으로 관련성이 있는 키 구를 추출한 다음 인덱싱하여 SQL Server 데이터베이스에 저장된 구조화되지 않은 문서를 깊이 있게 검색하는 기능입니다. 그런 다음 이 키 구를 사용하여 유사하거나 관련된 문서를 식별한 후 인덱싱합니다.

세 개의 Transact-SQL 행 집합 함수를 통해 의미 체계 인덱스를 쿼리하여 구조화된 데이터 결과를 검색합니다.

항목 내용

  • 의미 체계 검색을 통해 수행할 수 있는 작업

    • 문서의 키 구 찾기

    • 유사하거나 관련된 문서 찾기

    • 문서를 유사하게 만드는 키 구 찾기

  • SQL Server에 문서 저장

  • 관련 태스크

  • 관련 내용

의미 체계 검색을 통해 수행할 수 있는 작업

의미 체계 검색은 SQL Server의 기존 전체 텍스트 검색 기능을 기반으로 구축되었지만 이를 통해 키워드 검색보다 뛰어난 새로운 시나리오가 지원됩니다. 전체 텍스트 검색을 사용하면 문서의 단어를 쿼리할 수 있지만, 의미 체계 검색을 사용하면 문서의 의미를 쿼리할 수 있습니다. 가능한 솔루션에는 자동 태그 추출, 관련 내용 검색 및 유사 내용 간의 계층 탐색이 포함됩니다. 예를 들어 키 구의 인덱스를 쿼리하여 조직 또는 문서 모음에 대한 분류를 만들 수 있습니다. 또는 문서 유사성 인덱스를 쿼리하여 업무 설명과 일치하는 이력서를 확인할 수 있습니다.

다음 예에서는 의미 체계 검색 기능을 보여 줍니다.

문서의 키 구 찾기

다음 쿼리는 예제 문서에서 식별된 키 구를 가져옵니다. 쿼리 결과는 각 키 구의 통계적 유의성 점수를 기준으로 내림차순으로 표시됩니다. 이 쿼리에서는 semantickeyphrasetable(Transact-SQL) 함수를 호출합니다.

SET @Title = 'Sample Document.docx'

SELECT @DocID = DocumentID
    FROM Documents
    WHERE DocumentTitle = @Title

SELECT @Title AS Title, keyphrase, score
    FROM SEMANTICKEYPHRASETABLE(Documents, *, @DocID)
    ORDER BY score DESC

맨 위로 이동

유사하거나 관련된 문서 찾기

다음 쿼리에서는 예제 문서와 유사하거나 관련된 것으로 확인된 문서를 가져옵니다. 쿼리 결과는 두 문서의 유의성 점수를 기준으로 내림차순으로 표시됩니다. 이 쿼리에서는 semanticsimilaritytable(Transact-SQL) 함수를 호출합니다.

SET @Title = 'Sample Document.docx'

SELECT @DocID = DocumentID
    FROM Documents
    WHERE DocumentTitle = @Title

SELECT @Title AS SourceTitle, DocumentTitle AS MatchedTitle,
        DocumentID, score
    FROM SEMANTICSIMILARITYTABLE(Documents, *, @DocID)
    INNER JOIN Documents ON DocumentID = matched_document_key
    ORDER BY score DESC

맨 위로 이동

문서를 유사하거나 관련되게 만드는 키 구 찾기

다음 쿼리에서는 두 예제 문서를 서로 유사하거나 관련된 것으로 만드는 키 구를 가져옵니다. 쿼리 결과는 각 키 구의 가중치 점수를 기준으로 내림차순으로 표시됩니다. 이 쿼리에서는 semanticsimilaritydetailstable(Transact-SQL) 함수를 호출합니다.

SET @SourceTitle = 'first.docx'
SET @MatchedTitle = 'second.docx'

SELECT @SourceDocID = DocumentID FROM Documents WHERE DocumentTitle = @SourceTitle
SELECT @MatchedDocID = DocumentID FROM Documents WHERE DocumentTitle = @MatchedTitle

SELECT @SourceTitle AS SourceTitle, @MatchedTitle AS MatchedTitle, keyphrase, score
    FROM semanticsimilaritydetailstable(Documents, DocumentContent,
        @SourceDocID, DocumentContent, @MatchedDocID)
    ORDER BY score DESC

맨 위로 이동

SQL Server에 문서 저장

의미 체계 검색을 사용하여 문서를 인덱싱하려면 문서를 SQL Server 데이터베이스에 저장해야 합니다.

SQL Server 2012의 FileTable 기능을 사용하여 구조화되지 않은 파일과 문서를 관계형 데이터베이스의 주요 데이터로 저장할 수 있습니다. 따라서 데이터베이스 개발자는 Transact-SQL 집합 기반 작업에서 구조화된 데이터와 함께 문서를 조작할 수 있습니다.

FileTable 기능에 대한 자세한 내용은 FileTable(SQL Server)을 참조하십시오. 데이터베이스에 문서를 저장하는 다른 옵션인 FILESTREAM 기능에 대한 자세한 내용은 FILESTREAM(SQL Server)을 참조하십시오.

맨 위로 이동

관련 태스크

관련 내용