KR20000041817A - 음절 단위 패턴으로 구성한 패턴 테이블을 이용한 문자열 부분검색 시스템 및 그 방법 - Google Patents

음절 단위 패턴으로 구성한 패턴 테이블을 이용한 문자열 부분검색 시스템 및 그 방법 Download PDF

Info

Publication number
KR20000041817A
KR20000041817A KR1019980057823A KR19980057823A KR20000041817A KR 20000041817 A KR20000041817 A KR 20000041817A KR 1019980057823 A KR1019980057823 A KR 1019980057823A KR 19980057823 A KR19980057823 A KR 19980057823A KR 20000041817 A KR20000041817 A KR 20000041817A
Authority
KR
South Korea
Prior art keywords
search
result set
data
pattern
result
Prior art date
Application number
KR1019980057823A
Other languages
English (en)
Inventor
김상택
유병규
유광일
김현정
Original Assignee
이계철
한국전기통신공사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 이계철, 한국전기통신공사 filed Critical 이계철
Priority to KR1019980057823A priority Critical patent/KR20000041817A/ko
Publication of KR20000041817A publication Critical patent/KR20000041817A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/338Presentation of query results

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

1. 청구범위에 기재된 발명이 속한 기술분야
본 발명은 문자열 부분 검색 시스템 및 그 방법에 관한 것임.
2. 발명이 해결하려고 하는 기술적 과제
본 발명은 데이터베이스에 저장된 정보에 대해 음절 단위 패턴으로 구성한 패턴 테이블을 이용하여 문자열의 부분 검색을 완벽하게 수행하면서 빠른 검색 성능을 가진 문자열 부분 검색 시스템 및 그 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 그 목적이 있음.
3. 발명의 해결방법의 요지
본 발명은, 데이터베이스에 저장된 정보에 대해 음절 단위 패턴으로 구성한 패턴 테이블을 이용하여 문자열의 부분 검색을 수행하기 위한 문자열 부분 검색 수단; 문자열 부분 검색 수단에서 검색된 결과 집합을 입력받아 삽입하여 저장하기 위한 저장 수단; 및 문자열 부분 검색 수단으로부터 삽입 정보를 카운트를 증가시킨 후에 그 누적값이 소정의 결과 집합 크기를 초과하는지를 확인하여 저장 수단에서 우선 순위에 따라 레코드를 삭제하도록 하기 위한 결과 집합 관리 수단을 포함한다.
4. 발명의 중요한 용도
본 발명은 데이터베이스의 검색에 이용됨.

Description

음절 단위 패턴으로 구성한 패턴 테이블을 이용한 문자열 부분 검색 시스템 및 그 방법
본 발명은 음절 단위 패턴으로 구성한 패턴 테이블을 이용하여 문자열의 부분 검색을 수행하기 위한 문자열 부분 검색 시스템 및 그 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.
종래의 색인 구조들은 사용자의 질의어를 부분 문자열로 가지고 있는 문자열의 검색을 지원하지 못하거나 제약점을 가지고 있었다.
그러나, 최근 웹 환경에서 동작하는 정보 검색 엔진들은 이러한 문자열의 부분 검색을 제공하는데, 이들 정보 검색 엔진들이 사용하는 색인 방법으로는 역 파일 기법과 요약 파일 기법이 대표적이다.
역 파일 기법은 빠른 검색 성능을 보이지만 형태소 분석을 결과 단어로 역 파일을 구성하기 때문에 고유명사, 복합명사 및 신조어 등의 처리가 어렵고, 또한 형태소 분석이라는 추가적인 문제를 해결해야만 하는 단점이 있었다.
그리고, 요약 파일 기법은 형태소 분석이 불필요하고 저장 공간을 효율적으로 이용할 수 있으나, 역 파일에 비해 검색 효율이 떨어지고 질의를 만족하지 않는 결과를 가져오는 폴스 매치(false match)라는 검색 오류를 가지고 있다.
더욱이 상용 데이터베이스 관리시스템(DBMS)에 저장된 데이터베이스를 검색하기 위해서는 상기와 같은 기법들을 사용할 수 없으며, 데이터베이스 관리시스템(DBMS) 자체에서 제공되는 데이터 조작언어(SQL : Structured Query Language)를 이용해 검색할 경우에 데이터베이스의 크기에 따라 검색 시간이 오래 걸리는 단점이 있으며, 부분 검색도 효과적으로 수행할 수 없는 문제점이 있었다.
본 발명은 상기 문제점을 해결하기 위하여 안출된 것으로, 데이터베이스에 저장된 정보에 대해 음절 단위 패턴으로 구성한 패턴 테이블을 이용하여 문자열의 부분 검색을 완벽하게 수행하면서 빠른 검색 성능을 가진 문자열 부분 검색 시스템 및 그 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 그 목적이 있다.
도 1 은 본 발명에 따른 문자열 부분 검색 시스템의 일실시예 구성도.
도 2 는 본 발명에 따른 도 1 의 문자열 부분 검색기의 동작에 대한 설명도.
도 3 은 본 발명에 따른 데이터 패턴 테이블의 일실시예 구조도.
도 4 는 본 발명에 따른 유사어 패턴 테이블의 일실시예 구조도.
도 5 는 본 발명에 따른 문자열 부분 검색 방법에 대한 일실시예 흐름도.
* 도면의 주요 부분에 대한 부호의 설명
11 : 문자열 부분 검색기 12 : 결과 집합 관리기
13 : 결과 집합 테이블
상기 목적을 달성하기 위한 본 발명의 장치는, 문자열 부분 검색을 수행하기 위한 문자열 부분 검색 시스템에 있어서, 데이터베이스에 저장된 정보에 대해 음절 단위 패턴으로 구성한 패턴 테이블을 이용하여 문자열의 부분 검색을 수행하기 위한 문자열 부분 검색 수단; 상기 문자열 부분 검색 수단에서 검색된 결과 집합을 입력받아 삽입하여 저장하기 위한 저장 수단; 및 상기 문자열 부분 검색 수단으로부터 상기 저장 수단에 삽입이 발생하였다는 정보를 상기 문자열 부분 검색 수단으로부터 입력받아 카운트를 증가시킨 후에 그 누적값이 소정의 결과 집합 크기(레코드 유지 개수)를 초과하는지를 확인하여 상기 저장 수단에서 우선 순위에 따라 레코드를 삭제하도록 하기 위한 결과 집합 관리 수단을 포함하는 것을 특징으로 한다.
한편, 본 발명의 방법은, 문자열 부분 검색을 수행하기 위한 문자열 부분 검색 시스템에 적용되는 문자열 부분 검색 방법에 있어서, 사용자로부터 입력된 질의어와 조건에 따라 결과 집합 테이블을 검색하는 제 1 단계; 상기 제 1 단계의 검색 결과, 상기 결과 집합 테이블에서 검색이 되면 상기 결과 집합 테이블에 있는 검색 결과를 사용자에게 출력하는 제 2 단계; 및 상기 제 1 단계의 검색 결과, 상기 결과 집합 테이블에서 검색되지 않으면 입력 질의어를 패턴으로 분할하여 불용어 처리를 한 후에 데이터 패턴 테이블, 유사어 패턴 테이블, 유사어 테이블 및 데이터 테이블을 검색하여 필터링과 정렬을 거쳐 정렬 테이블에 기록한 다음에 결과 집합을 만들어 결과 집합 테이블에 삽입하고 상기 사용자에게 검색 결과를 출력하는 제 3 단계를 포함하는 것을 특징으로 한다.
한편, 본 발명은, 프로세서를 구비한 문자열 부분 검색 시스템에, 사용자로부터 입력된 질의어와 조건에 따라 결과 집합 테이블을 검색하는 제 1 기능; 상기 제 1 기능에서의 검색 결과, 상기 결과 집합 테이블에서 검색이 되면 상기 결과 집합 테이블에 있는 검색 결과를 사용자에게 출력하는 제 2 기능; 및 상기 제 1 기능에서의 검색 결과, 상기 결과 집합 테이블에서 검색되지 않으면 입력 질의어를 패턴으로 분할하여 불용어 처리를 한 후에 데이터 패턴 테이블, 유사어 패턴 테이블, 유사어 테이블 및 데이터 테이블을 검색하여 필터링과 정렬을 거쳐 정렬 테이블에 기록한 다음에 결과 집합을 만들어 결과 집합 테이블에 삽입하고 상기 사용자에게 검색 결과를 출력하는 제 3 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
상술한 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.
도 1 은 본 발명에 따른 문자열 부분 검색 시스템의 일실시예 구성도이고, 도 2 는 본 발명에 따른 도 1 의 문자열 부분 검색기의 동작에 대한 설명도이다.
도 1 및 도 2 를 참조하여 본 발명에 따른 문자열 부분 검색 시스템의 구성 및 동작의 일실시예를 살펴보면 다음과 같다.
먼저, 도 2 를 참조하여 도 1 의 문자열 부분 검색기의 동작을 살펴보면, 부분 검색을 위해 각 문자열은 두 음절 크기의 패턴으로 분할된다. 이처럼 분할된 패턴을 이용한 부분 검색의 예는 다음과 같다. 사용자의 질의어가 "이동통신"이고, 검색 대상이 되는 문자열이 "한국통신"과 "한국이동통신"이라 하면, 질의어는 각각 "이동", "동통", "통신"과 같이 3개의 질의 패턴으로 분할된다. 같은 방법으로 "한국통신"을 단어 패턴으로 분할하여 질의 패턴들과 비교했을 때, 공통되는 것은 "통신"하나이다. 반면에 "한국이동통신"에 대해 같은 과정을 적용시키면, 질의어의 모든 질의 패턴이 단어 패턴 집합에 포함되는 것을 알 수 있다. 결과적으로, 비교되는 단어가 질의어의 질의 패턴을 모두 가지고 있다면 그 단어는 질의어를 부분 문자열로 포함하고 있다고 할 수 있다.
본 발명에서의 부분 검색을 위한 패턴 테이블은 이와 같이 검색 대상이 되는 모든 정보가 저장되어 있는 데이터 테이블에 대해 2음절 단위 패턴을 기본 단위로 하여 데이터 패턴 테이블을 구성한다. 데이터 패턴 테이블 구성시 어미나 접두사, 또는 빈도수가 지나치게 큰 패턴을 불용어로 처리하여 패턴을 구성한다. 이 데이터 패턴 테이블은 후술되는 도 3 에 도시된 바와 같은 필드로 구성되는데, 기타 정보는 정보 검색시 추가되는 조건에 해당된다. 예를 들어, 전화번호 데이터베이스에서 서울시 강남구에 있는 한국데이터베이스 진흥회라는 데이터에 대해 데이터 패턴 테이블을 구성할 때, 그 데이터 패턴은 "한국", "국데", "데이", "이터" 등과 같으며, 각 레코드의 기타 정보는 서울시 강남구라는 주소 정보가 해당된다.
문자열 부분 검색기(11)는 질의어를 패턴으로 분할한 후에, 패턴 테이블 구성시와 같이 불용어를 처리하고 난 후에, 나머지 질의 패턴에 대해 데이터 패턴 테이블을 검색하여 검색 결과들중 모든 패턴이 공통으로 가지고 있는 데이터 레코드의 행 식별자(row id)를 추출한다. 행 식별자(row id)는 데이터베이스 관리시스템(DBMS)에 생성된 테이블의 모든 레코드마다 가지고 있는 고유의 식별번호이다. 추출된 행 식별자(row id)들을 이용하여 데이터 테이블을 검색하고, 검색된 레코드들로부터 정렬을 위한 정보를 구해 필터링과 정렬을 거쳐 테이블에 기록한다. 정렬 테이블에 수록될 정렬을 위한 정보는 데이터 레코드의 행 식별자(row id)와 주소 등과 같이 정렬의 기준이 되는 항목이다. 필터링을 하는 것은 부분 검색에서 불용어 처리로 인한 검색 오류를 제거하기 위해서이다. 불용어 처리가 되는 질의 패턴은 무시되기 때문에 불용어 처리되는 패턴의 위치에 다른 패턴이 있을 때 이는 처리하지 못해 잘못된 결과가 발생하며, 또한 질의어 패턴 검색시 위치나 순서를 고려하지 않기 때문에 잘못된 결과가 발생할 수 있으므로, 문자열 부분 검색기(11)의 결과들이 모든 질의어를 부분 문자열로 포함하고 있는지를 조사하는 과정이 필터링이다.
문자열 부분 검색기(11)는 유사어 사전에 대해 데이터 패턴 테이블과 같이 유사어 패턴 테이블을 구성한다. 패턴으로 분할된 각 질의 패턴에 대해 데이터 패턴 테이블 검색과 동시에 후술되는 도 4 에 도시된 바와 같은 유사어 패턴 테이블을 검색하여 유사어 테이블 레코드의 행 식별자(row id)를 검색하고, 해당하는 행 식별자(row id)의 유사어 테이블 레코드에 저장되어 있는 데이터 레코드 행 식별자(row id)를 찾고, 이 행 식별자(row id)를 이용하여 데이터 테이블을 검색하고, 검색된 레코드들로부터 정렬을 위한 정보를 구해 정렬 테이블에 기록한다.
정렬 테이블에서 정렬된 데이터 레코드로부터 결과 집합을 만들어 결과 집합 테이블에 삽입하고 사용자에게 검색 결과를 출력한다. 이때, 문자열 부분 검색기(11)는 좀 더 빠른 검색 결과 제공을 위해 자식 프로세스를 포크(fork)하여 검색 결과를 사용자에게 출력하게 하고, 문자열 부분 검색기(11)는 결과 집합 테이블을 구성한다.
이와 같이 사용자의 질의에 대해 5번의 테이블 입/출력(I/O)을 수행하지만, 결과 집합이 결과 집합 테이블에 존재한다면, 2번의 테이블 입/출력(I/O)으로 검색이 가능하다. 즉, 부분 검색을 수행하기 전에 사용자가 입력한 질의와 조건이 동일한 검색 결과가 있는지를 조사하는 것이다. 따라서, 페이지 이동이 많은 웹이나 개인용 컴퓨터(PC) 통신 서비스에서 검색 성능의 향상과 시스템 자원을 절약할 수 있다.
새로운 검색이 끝날 때마다 문자열 부분 검색기(11)에 의해 결과 집합 테이블에 삽입이 발생한다. 결과 집합이 누적될수록 결과 집합에서 검색될 확률이 증가하여 검색 효율이 증대하나, 많은 양의 디스크 공간을 소비해야 하는 단점이 있다. 따라서, 검색 효율과 시스템 자원을 고려하여 결과 집합 크기를 설정하고, 결과 집합에 레코드가 삽입될 때, 도 1 에 도시된 바와 같이 결과 집합 관리기(12)에 통보하면 결과 집합 관리기(12)가 카운트를 증가시켜, 설정된 결과 집합 크기를 초과할 때 우선 순위가 가장 낮은 레코드를 삭제한다. 우선 순위는 마지막 접근 시간으로 가장 오랫동안 참조되지 않은 레코드 순으로 삭제한다.
도 3 은 본 발명에 따른 데이터 패턴 테이블의 일실시예 구조도이다.
본 발명에 따른 데이터 패턴 테이블은, 데이터의 2음절 패턴을 나타내는 데이터 패턴 필드, 정보 검색시 추가되는 조건을 나타내는 기타 정보 필드, 저장된 데이터 레코드 행 식별자(row id) 개수를 나타내는 카운트(count) 필드 및 최대 저장 가능한 개수 만큼의 데이터 레코드 행 식별자가 저장되어 있으며 그 이상일 경우에 새로운 레코드를 할당하여 저장하는 행 식별자(row id) 필드를 구비한다.
도 4 는 본 발명에 따른 유사어 패턴 테이블의 일실시예 구조도이다.
본 발명에 따른 유사어 패턴 테이블은, 유사어의 2음절 패턴을 나타내는 유사어 패턴 필드, 정보 검색시 추가되는 조건을 나타내는 기타 정보 필드, 저장된 유사어 레코드 행 식별자(row id) 개수를 나타내는 카운트(count) 필드 및 최대 저장 가능한 개수 만큼의 유사어 레코드 행 식별자가 저장되어 있으며 그 이상일 경우에 새로운 레코드를 할당하여 저장하는 행 식별자(row id) 필드를 구비한다.
도 5 는 본 발명에 따른 문자열 부분 검색 방법에 대한 일실시예 흐름도이다.
먼저, 사용자로부터 질의어가 입력되면(51) 부분 검색을 수행하기 전에 결과 집합 테이블을 검색하여(52) 사용자가 입력한 질의와 조건이 동일한 검색 결과가 결과 집합 테이블에 존재하는지를 조사한다(53).
상기 조사 결과(53), 결과 집합 테이블에 존재하면 부분 검색을 다시 수행하지 않고 결과 집합 테이블에 있는 검색 결과를 사용자에게 출력하고 종료한다(54).
한편, 상기 조사 결과(53), 결과 집합 테이블에 존재하지 않으면 입력 질의어를 패턴으로 분할하여(55) 분할된 패턴을 불용어 처리한 후에(56) 나머지 질의 패턴에 대해 데이터 패턴 테이블을 검색하여 검색 결과들중 모든 패턴이 공통으로 가지고 있는 데이터 레코드의 행 식별자(row id)를 추출한다(57).
이후, 불용어 처리된 분할 패턴에 대해 유사어 패턴 테이블을 검색하여 유사어 테이블 레코드의 행 식별자(row id)를 추출하고(58) 유사어 테이블을 검색하여 추출된 행 식별자(row id)의 유사어 테이블 레코드에 저장되어 있는 데이터 레코드 행 식별자(row id)를 찾는다(59).
이후, 추출된 행 식별자(row id)들을 이용하여 데이터 테이블을 검색하여(60) 검색된 레코드들로부터 정렬을 위한 정보를 구해 필터링과 정렬을 거쳐(61) 정렬 테이블에 기록한다(62).
이후, 정렬 테이블에서 정렬된 데이터 레코드로부터 결과 집합을 만들어 결과 집합 테이블에 삽입하고 사용자에게 검색 결과를 출력한다(63 내지 65,54). 이때, 문자열 부분 검색기(11)는 좀 더 빠른 검색 결과 제공을 위해 자식 프로세스를 생성하여(63) 자식 프로세스이면(64) 검색 결과를 사용자에게 출력하게 하고(54), 자식 프로세스가 아니면(64) 문자열 부분 검색기(11)는 결과 집합 테이블을 구성한다(65).
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.
상기와 같은 본 발명은, 데이터베이스 관리시스템(DBMS) 기반의 데이터에 대해 문자열 부분 검색을 보다 효과적이면서 완벽하게 수행할 수 있는 효과가 있다.
또한, 본 발명은 웹이나 개인용 컴퓨터(PC) 통신에서와 같이 데이터베이스 관리시스템(DBMS) 기반의 데이터베이스에 대한 정보 검색 서비스 제공시 빠른 검색 성능과 정확한 부분 검색을 수행할 수 있는 효과가 있다.
또한, 본 발명은 부분 검색을 수행하기 전에 사용자가 입력한 질의와 조건이 동일한 검색 결과가 있는지를 조사하므로써, 페이지 이동이 많은 웹이나 개인용 컴퓨터(PC) 통신 서비스에서 검색 성능의 향상과 시스템 자원을 절약할 수 있는 효과가 있다.

Claims (14)

  1. 문자열 부분 검색을 수행하기 위한 문자열 부분 검색 시스템에 있어서,
    데이터베이스에 저장된 정보에 대해 음절 단위 패턴으로 구성한 패턴 테이블을 이용하여 문자열의 부분 검색을 수행하기 위한 문자열 부분 검색 수단;
    상기 문자열 부분 검색 수단에서 검색된 결과 집합을 입력받아 삽입하여 저장하기 위한 저장 수단; 및
    상기 문자열 부분 검색 수단으로부터 상기 저장 수단에 삽입이 발생하였다는 정보를 상기 문자열 부분 검색 수단으로부터 입력받아 카운트를 증가시킨 후에 그 누적값이 소정의 결과 집합 크기(레코드 유지 개수)를 초과하는지를 확인하여 상기 저장 수단에서 우선 순위에 따라 레코드를 삭제하도록 하기 위한 결과 집합 관리 수단
    을 포함하는 문자열 부분 검색 시스템.
  2. 제 1 항에 있어서,
    상기 우선 순위에 따른 레코드 삭제 과정은,
    상기 누적된 값이 상기 설정된 결과 집합 크기를 초과할 때 우선 순위가 가장 낮은 레코드를 삭제하되, 상기 마지막 접근 시간으로 가장 오랫동안 참조되지 않은 레코드 순으로 삭제하는 것을 특징으로 하는 문자열 부분 검색 시스템.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 문자열 부분 검색 수단은,
    질의어를 패턴으로 분할하여 불용어를 처리한 후에, 나머지 질의 패턴에 대해 데이터 패턴 테이블과 유사어 패턴 테이블 및 유사어 테이블을 검색하여 데이터 레코드와 유사어 레코드의 행 식별자(row id)를 추출한 다음에, 상기 추출된 행 식별자(row id)들을 이용하여 데이터 테이블을 검색하여 검색된 레코드들로부터 정렬을 위한 정보를 구해 필터링과 정렬을 거쳐 정렬 테이블에 기록한 후에, 정렬된 데이터 레코드로부터 결과 집합을 만들어 결과 집합 테이블에 삽입하고 사용자에게 검색 결과를 출력하는 것을 특징으로 하는 문자열 부분 검색 시스템.
  4. 제 3 항에 있어서,
    상기 문자열 부분 검색 수단은,
    빠른 검색 결과 제공을 위해 자식 프로세스를 포크(fork)하여 검색 결과를 상기 사용자에게 출력하게 하고, 자신은 결과 집합 테이블을 구성하는 것을 특징으로 하는 문자열 부분 검색 시스템.
  5. 제 3 항에 있어서,
    상기 데이터 패턴 테이블은,
    데이터의 2음절 패턴을 나타내는 데이터 패턴 필드;
    정보 검색시 추가되는 조건을 나타내는 기타 정보 필드;
    저장된 데이터 레코드 행 식별자(row id) 개수를 나타내는 카운트(count) 필드; 및
    최대 저장 가능한 개수 만큼의 데이터 레코드 행 식별자가 저장되어 있으며 그 이상일 경우에 새로운 레코드를 할당하여 저장하는 행 식별자(row id) 필드
    를 포함하는 문자열 부분 검색 시스템.
  6. 제 3 항에 있어서,
    상기 유사어 패턴 테이블은,
    유사어의 2음절 패턴을 나타내는 유사어 패턴 필드;
    정보 검색시 추가되는 조건을 나타내는 기타 정보 필드;
    저장된 유사어 레코드 행 식별자(row id) 개수를 나타내는 카운트(count) 필드; 및
    최대 저장 가능한 개수 만큼의 유사어 레코드 행 식별자가 저장되어 있으며 그 이상일 경우에 새로운 레코드를 할당하여 저장하는 행 식별자(row id) 필드
    를 포함하는 문자열 부분 검색 시스템.
  7. 문자열 부분 검색을 수행하기 위한 문자열 부분 검색 시스템에 적용되는 문자열 부분 검색 방법에 있어서,
    사용자로부터 입력된 질의어와 조건에 따라 결과 집합 테이블을 검색하는 제 1 단계;
    상기 제 1 단계의 검색 결과, 상기 결과 집합 테이블에서 검색이 되면 상기 결과 집합 테이블에 있는 검색 결과를 사용자에게 출력하는 제 2 단계; 및
    상기 제 1 단계의 검색 결과, 상기 결과 집합 테이블에서 검색되지 않으면 입력 질의어를 패턴으로 분할하여 불용어 처리를 한 후에 데이터 패턴 테이블, 유사어 패턴 테이블, 유사어 테이블 및 데이터 테이블을 검색하여 필터링과 정렬을 거쳐 정렬 테이블에 기록한 다음에 결과 집합을 만들어 결과 집합 테이블에 삽입하고 상기 사용자에게 검색 결과를 출력하는 제 3 단계
    를 포함하는 문자열 부분 검색 방법.
  8. 제 7 항에 있어서,
    검색 대상이 되는 정보가 저장되어 있는 상기 데이터 테이블에 대해 2음절 단위 패턴을 기본 단위로 하여 상기 데이터 패턴 테이블을 구성하는 제 4 단계; 및
    유사어 정보가 저장되어 있는 상기 유사어 테이블에 대해 2음절 단위 패턴을 기본 단위로 하여 상기 유사어 패턴 테이블을 구성하는 제 5 단계
    를 더 포함하는 문자열 부분 검색 방법.
  9. 제 7 항 또는 제 8 항에 있어서,
    상기 제 1 단계는,
    상기 사용자로부터 질의어를 입력받는 제 6 단계;
    부분 검색을 수행하기 전에 상기 결과 집합 테이블을 검색하는 제 7 단계; 및
    상기 사용자가 입력한 질의와 조건이 동일한 검색 결과가 상기 결과 집합 테이블에 존재하는지를 조사하는 제 8 단계
    를 포함하는 문자열 부분 검색 방법.
  10. 제 7 항 또는 제 8 항에 있어서,
    상기 제 3 단계는,
    입력 질의어를 패턴으로 분할하여 분할된 패턴을 불용어 처리한 후에 나머지 질의 패턴에 대해 데이터 패턴 테이블을 검색하여 검색 결과들중 모든 패턴이 공통으로 가지고 있는 데이터 레코드의 행 식별자(row id)를 추출하는 제 6 단계;
    불용어 처리된 분할 패턴에 대해 유사어 패턴 테이블을 검색하여 유사어 테이블 레코드의 행 식별자(row id)를 추출하는 제 7 단계;
    유사어 테이블을 검색하여 추출된 행 식별자(row id)의 유사어 테이블 레코드에 저장되어 있는 데이터 레코드 행 식별자(row id)를 추출하는 제 8 단계;
    추출된 행 식별자(row id)들을 이용하여 데이터 테이블을 검색하여 검색된 레코드들로부터 정렬을 위한 정보를 구해 필터링과 정렬을 거쳐 정렬 테이블에 기록하는 제 9 단계; 및
    정렬 테이블에서 정렬된 데이터 레코드로부터 결과 집합을 만들어 결과 집합 테이블에 삽입하고 상기 사용자에게 검색 결과를 출력하는 제 10 단계
    를 포함하는 문자열 부분 검색 방법.
  11. 제 10 항에 있어서,
    상기 제 10 단계는,
    빠른 검색 결과 제공을 위해 자식 프로세스를 생성하여 검색 결과를 상기 사용자에게 출력하게 하고, 결과 집합 테이블을 구성하는 것을 특징으로 하는 문자열 부분 검색 방법.
  12. 제 7 항 또는 제 8 항에 있어서,
    상기 데이터 패턴 테이블은,
    데이터의 2음절 패턴을 나타내는 데이터 패턴 필드;
    정보 검색시 추가되는 조건을 나타내는 기타 정보 필드;
    저장된 데이터 레코드 행 식별자(row id) 개수를 나타내는 카운트(count) 필드; 및
    최대 저장 가능한 개수 만큼의 데이터 레코드 행 식별자가 저장되어 있으며 그 이상일 경우에 새로운 레코드를 할당하여 저장하는 행 식별자(row id) 필드
    를 포함하는 문자열 부분 검색 방법.
  13. 제 7 항 또는 제 8 항에 있어서,
    상기 유사어 패턴 테이블은,
    유사어의 2음절 패턴을 나타내는 유사어 패턴 필드;
    정보 검색시 추가되는 조건을 나타내는 기타 정보 필드;
    저장된 유사어 레코드 행 식별자(row id) 개수를 나타내는 카운트(count) 필드; 및
    최대 저장 가능한 개수 만큼의 유사어 레코드 행 식별자가 저장되어 있으며 그 이상일 경우에 새로운 레코드를 할당하여 저장하는 행 식별자(row id) 필드
    를 포함하는 문자열 부분 검색 방법.
  14. 프로세서를 구비한 문자열 부분 검색 시스템에,
    사용자로부터 입력된 질의어와 조건에 따라 결과 집합 테이블을 검색하는 제 1 기능;
    상기 제 1 기능에서의 검색 결과, 상기 결과 집합 테이블에서 검색이 되면 상기 결과 집합 테이블에 있는 검색 결과를 사용자에게 출력하는 제 2 기능; 및
    상기 제 1 기능에서의 검색 결과, 상기 결과 집합 테이블에서 검색되지 않으면 입력 질의어를 패턴으로 분할하여 불용어 처리를 한 후에 데이터 패턴 테이블, 유사어 패턴 테이블, 유사어 테이블 및 데이터 테이블을 검색하여 필터링과 정렬을 거쳐 정렬 테이블에 기록한 다음에 결과 집합을 만들어 결과 집합 테이블에 삽입하고 상기 사용자에게 검색 결과를 출력하는 제 3 기능
    을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1019980057823A 1998-12-23 1998-12-23 음절 단위 패턴으로 구성한 패턴 테이블을 이용한 문자열 부분검색 시스템 및 그 방법 KR20000041817A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980057823A KR20000041817A (ko) 1998-12-23 1998-12-23 음절 단위 패턴으로 구성한 패턴 테이블을 이용한 문자열 부분검색 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980057823A KR20000041817A (ko) 1998-12-23 1998-12-23 음절 단위 패턴으로 구성한 패턴 테이블을 이용한 문자열 부분검색 시스템 및 그 방법

Publications (1)

Publication Number Publication Date
KR20000041817A true KR20000041817A (ko) 2000-07-15

Family

ID=19565059

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980057823A KR20000041817A (ko) 1998-12-23 1998-12-23 음절 단위 패턴으로 구성한 패턴 테이블을 이용한 문자열 부분검색 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR20000041817A (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100424114B1 (ko) * 2001-05-24 2004-03-24 (주)줌테크놀로지코리아 브랜드 워치 방법 및 장치
KR100501079B1 (ko) * 2001-11-12 2005-07-18 주식회사 아이니드 네트워크 기반의 유사어 검색기술 응용시스템 및 방법
WO2006065108A1 (en) * 2004-12-17 2006-06-22 Nhn Corporation System and method for filtering message
KR100645298B1 (ko) * 2005-09-03 2006-11-14 에스케이 텔레콤주식회사 워드 다이얼링에서의 문자열 검색 시스템 및 방법
KR100760301B1 (ko) 2006-02-23 2007-09-19 삼성전자주식회사 부분 검색어 추출을 통한 미디어 파일 검색 방법 및 장치
KR100869753B1 (ko) * 2001-07-26 2008-11-21 주식회사 엠에이정보기술 상표 검색시스템

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100424114B1 (ko) * 2001-05-24 2004-03-24 (주)줌테크놀로지코리아 브랜드 워치 방법 및 장치
KR100869753B1 (ko) * 2001-07-26 2008-11-21 주식회사 엠에이정보기술 상표 검색시스템
KR100501079B1 (ko) * 2001-11-12 2005-07-18 주식회사 아이니드 네트워크 기반의 유사어 검색기술 응용시스템 및 방법
WO2006065108A1 (en) * 2004-12-17 2006-06-22 Nhn Corporation System and method for filtering message
US7725550B2 (en) 2004-12-17 2010-05-25 Nhn Corporation System and method for filtering message
KR100645298B1 (ko) * 2005-09-03 2006-11-14 에스케이 텔레콤주식회사 워드 다이얼링에서의 문자열 검색 시스템 및 방법
KR100760301B1 (ko) 2006-02-23 2007-09-19 삼성전자주식회사 부분 검색어 추출을 통한 미디어 파일 검색 방법 및 장치

Similar Documents

Publication Publication Date Title
US5995962A (en) Sort system for merging database entries
Stonebraker et al. Document processing in a relational database system
US5201048A (en) High speed computer system for search and retrieval of data within text and record oriented files
US11449564B2 (en) System and method for searching based on text blocks and associated search operators
US6266660B1 (en) Secondary index search
US20120096008A1 (en) Hyperspace index
JPH02271468A (ja) データ処理方法
EP1315103B1 (en) File search method and apparatus, and index file creation method and device
CN111400323A (zh) 数据检索方法、系统、设备及存储介质
US6282541B1 (en) Efficient groupby aggregation in tournament tree sort
US20110113052A1 (en) Query result iteration for multiple queries
CN101021851A (zh) 文本检索装置、检索方法、记录文本检索程序的记录介质
KR20000041817A (ko) 음절 단위 패턴으로 구성한 패턴 테이블을 이용한 문자열 부분검색 시스템 및 그 방법
US7039646B2 (en) Method and system for compressing varying-length columns during index high key generation
JPH06348757A (ja) 文書検索装置および方法
KR100659370B1 (ko) 시소러스 매칭에 의한 문서 db 형성 방법 및 정보검색방법
US6735584B1 (en) Accessing a database using user-defined attributes
JPH08190571A (ja) 文書検索方法
JP4091586B2 (ja) 構造化文書管理システム、索引構築方法及びプログラム
JPH04340163A (ja) キーワード検索方式
KR100741283B1 (ko) 정보 검색시스템에서의 정보 검색을 위한 부분검색 장치 및 그 방법과 이의 인덱스 테이블 구축 방법
CN113111655B (zh) 分离词典的构建方法、基于分离词典的分词方法及设备
JP2550022B2 (ja) 文書情報検索方式
JP3578501B2 (ja) 文書検索方法及び装置
KR100574888B1 (ko) 정보검색을 위한 무가치 필드의 정의 및 활용 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application