역 인덱스 및 서명 파일과 같은 몇 가지 인기 있는 텍스트 검색 인덱싱 기술이 있습니다.
역 인덱스 - 역 인덱스는 두 개의 해시 인덱스 또는 B+ 트리 인덱스 테이블인 document_table 및 term_table을 유지 관리하는 인덱스 구조입니다. (또는 메소드에 대한 포인터) 문서에 나타나는 관련성 척도에 따라 정렬됩니다.
term_table에는 term_id와 posting_list라는 두 개의 필드가 포함된 용어 레코드 세트가 포함되어 있습니다. 여기서 posting_list는 용어가 발생하는 레코드 식별자 목록을 지정합니다.
주어진 용어 세트와 관련된 모든 문서를 찾을 수 있습니다. 주어진 문서 세트와 관련된 모든 용어를 찾는 데 사용됩니다. 예를 들어, 용어 집합과 관련된 모든 문서를 찾을 수 있고, 먼저 각 용어에 대한 용어 테이블에서 문서 식별자 목록을 찾은 다음 이들을 교차하여 관련 레코드 모음을 얻을 수 있습니다.
역 지수는 시장에서 널리 사용됩니다. 그들은 실행하기 쉽습니다. 게시 목록은 다소 길어서 스토리지 요구 사항이 상당히 커질 수 있습니다. 구현하기는 쉽지만 동의어(매우 다른 두 단어가 동일한 의미를 가질 수 있음) 및 다의어(하나의 단어가 여러 의미를 가질 수 있음) 관리에 만족하지 않습니다.
서명 파일은 데이터베이스의 각 레코드에 대한 서명 데이터를 저장하는 파일입니다. 각 서명은 용어를 정의하는 b 비트의 일정한 크기를 갖습니다. 간단한 인코딩 설계는 다음과 같습니다. 레코드 서명의 각 비트는 0으로 시작됩니다.
비트가 정의하는 용어가 레코드에 나타나면 비트가 1로 설정됩니다. 서명 S1 다른 서명 S2와 일치합니다. 각 비트가 서명 S2에 설정된 경우 S1에도 설정되어 있습니다. . 일반적으로 사용 가능한 비트보다 더 많은 용어가 있기 때문에 여러 용어를 유사한 비트에 매핑할 수 있습니다.
쿼리의 서명을 연결하는 레코드가 쿼리의 키워드 집합을 반드시 포함하는 것은 아니기 때문에 이러한 다중 대 일 매핑은 검색 비용이 많이 듭니다. 레코드를 검색, 구문 분석, 형태소 분석 및 테스트해야 합니다. 먼저 빈도 분석, 형태소 분석 및 중지 단어 필터링을 구현한 다음 해싱 방법 및 중첩 코딩 기술을 활용하여 방법 목록을 비트 표현으로 인코딩하여 개선 사항을 만들 수 있습니다.