KR100911413B1 - Information System Having Per-Document Basis Transactional Index Maintenance Toward DB-IR Integration, And Method Thereof - Google Patents

Information System Having Per-Document Basis Transactional Index Maintenance Toward DB-IR Integration, And Method Thereof Download PDF

Info

Publication number
KR100911413B1
KR100911413B1 KR1020070113566A KR20070113566A KR100911413B1 KR 100911413 B1 KR100911413 B1 KR 100911413B1 KR 1020070113566 A KR1020070113566 A KR 1020070113566A KR 20070113566 A KR20070113566 A KR 20070113566A KR 100911413 B1 KR100911413 B1 KR 100911413B1
Authority
KR
South Korea
Prior art keywords
index
information
document
posting
posting information
Prior art date
Application number
KR1020070113566A
Other languages
Korean (ko)
Other versions
KR20090047632A (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 KR1020070113566A priority Critical patent/KR100911413B1/en
Publication of KR20090047632A publication Critical patent/KR20090047632A/en
Application granted granted Critical
Publication of KR100911413B1 publication Critical patent/KR100911413B1/en

Links

Images

Landscapes

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

Abstract

본 발명은 데이터베이스(DB)와 정보검색(IR) 통합을 위한 문서단위 동적 색인관리 특성을 갖는 정보검색 시스템 및 그 방법에 관한 것으로, 온라인으로 삽입, 삭제, 변경되는 문서의 포스팅 정보를 트랜잭션 방식으로 저장하는 보조색인저장기와; 상기 보조색인저장기에 저장된 포스팅 정보 중에서 미리 정해진 임계치 크기에 도달한 포스팅 정보를 주색인저장기로 이동시키는 색인펄싱(pulsing)장치; 및 상기 주색인저장기와 상기 보조색인저장기에 저장된 포스팅 정보를 사용하여 온라인으로 삽입, 변경, 삭제된 문서를 포함하여 원하는 정보를 검색하는 정보검색기;를 포함하여 구성함으로써, 데이터베이스(DB)와 정보검색(IR) 통합하여 문서단위 동적 색인관리를 할 수 있다.The present invention relates to an information retrieval system and a method having a document-level dynamic index management characteristic for integrating a database (DB) and information retrieval (IR). An auxiliary index store for storing; An index pulsing device for moving the posting information that reaches a predetermined threshold size among the posting information stored in the secondary index storage device to the main index storage device; And an information searcher for searching for desired information including documents inserted, changed or deleted online by using the posting information stored in the main index storage and the sub index storage. Integrate (IR) document-level dynamic index management.

데이터베이스(DB), 정보검색(IR), 통합, 문서, 동적, 색인관리, 포스팅정보 Database, IR, Integration, Document, Dynamic, Index Management, Posting Information

Description

데이터베이스와 정보검색 통합을 위한 문서단위 동적 색인관리 특성을 갖는 정보검색 시스템 및 그 방법{Information System Having Per-Document Basis Transactional Index Maintenance Toward DB-IR Integration, And Method Thereof}Information retrieval system with document-level dynamic index management characteristics for database and information retrieval integration and its method {Information System Having Per-Document Basis Transactional Index Maintenance Toward DB-IR Integration, And Method Thereof}

본 발명은 문서를 동적으로 관리하는 정보검색 시스템 및 그 방법에 관한 것으로, 특히 데이터베이스(DB)와 정보검색(Information Retrieval; IR) 통합을 위한 문서단위 동적 색인관리(Per-Document Basis Transactional Index Maintenance) 특성을 갖는 정보검색 시스템 및 그 방법에 관한 것이다.The present invention relates to an information retrieval system and method for dynamically managing a document, and in particular, a Per-Document Basis Transactional Index Maintenance for integrating information retrieval (IR) with a database (DB). An information retrieval system having a characteristic and a method thereof are provided.

정보화사회에서 인간의 지적 활동에 필요 불가결한 행위의 하나는 첨단과학기술에 의존한 정보의 수집과 축적 및 검색과 이용이라고 할 수 있다. 개인적으로는 필요한 정보나 데이터를 보다 신속, 정확하게 입수하여 연구개발이나 의사결정에 활용할 수 있는 방법을 모색하고, 사회적으로는 사회 각 부문에서의 다양한 정보요구를 효율적 정보화사회에서의 가장 중요한 과제이다. 바로 여기에 정보검색으로 충족시킬 수 있는 정보검색 시스템을 어떻게 구축, 유지, 운영하느냐가 현대 중 요성과 의의가 있는 것이다.One of the indispensable actions for human intellectual activities in the information society is the collection, accumulation, retrieval and use of information based on advanced science and technology. Personally, I seek ways to obtain the necessary information and data more quickly and accurately and use it for R & D or decision making. Socially, various information needs in each sector of society are the most important task in an efficient information society. Here is how to build, maintain and operate an IR system that can be met by IR.

정보검색 시스템은 정보 수요자가 필요하다고 예측되는 정보나 데이터를 미리 수집, 가공, 처리하여 찾기 쉬운 형태로 축적해 놓은 데이터 베이스로부터 요구에 적합한 정보를 신속하게 찾아내어 정보요구자에게 제공하는 시스템을 말한다. 이러한 형태에는 정보시스템에서 출력된 검색결과를 전화로 알려주거나 팩스로 전송하거나 또는 우송하는 경우가 있고, 인터넷을 통해 컴퓨터를 보유하고 있는 요구자의 가정이나 사무실에 온라인으로 검색결과를 전송해 줄 수 있다.The information retrieval system refers to a system that provides information requesters by quickly finding information that meets their needs from a database that has been collected, processed, and processed in advance in an easy-to-find form. In this form, the search results output from the information system may be reported by telephone, fax, or mailed, and the search results may be sent online to the home or office of the requester who owns the computer via the Internet. .

그리고 데이터 베이스에 축적되어 있는 정보의 종류에 따라 참조검색·사실검색·전문(full-text)검색으로 구분된다. 참조검색은 요구자가 알고자 하는 주제를 핵심적으로 다루고 있는 문헌의 서지사항을 검색하는 것으로 DIRLOG, BRS 등의 온라인 정보검색 시스템이 여기에 해당한다.It is divided into reference search, fact search, and full-text search according to the kind of information accumulated in the database. Reference retrieval is a search of bibliographic citations in the literature that focuses on the subject that the requester wants to know. This is the case of online information retrieval systems such as DIRLOG and BRS.

사실검색은 일반데이터나 수치데이터 및 사실데이터를 검색할 수 있는 것으로, 화학물질을 검색하는 CAS(Chemical Abstracts Service On-line), 반도체 재료의 데이터를 검색하는 EMIS(Electronic Information Service) 등이 이 범주에 속한다.Fact Search can search general data, numerical data, and fact data, such as Chemical Abstracts Service On-line (CAS) for searching for chemicals, and Electronic Information Service (EMIS) for data of semiconductor materials. Belongs to.

전문검색은 문헌의 전문을 축적해 놓은 데이터 베이스로부터 서지적 데이터뿐만 아니라 해당 문장이나 원문 전부를 필요에 따라 검색해서 볼 수 있는 것으로 법률정보를 검색할 수 있는 렉시스(LEXIS)나 웨스트로(WESTLAW), 신문기사를 검색할 수 있는 넥시스(NEXIS), 다우존스 리트리벌(Dow Jones/Retrieval) 등이 있다.The full-text search allows you to search not only bibliographic data but also all relevant sentences and texts from the database of the full text of the literature as needed. Lexis or Westlaw can search legal information. ), Nexis, where you can search for newspaper articles, and Dow Jones / Retrieval.

따라서, 본 발명은 상기 문제점을 해결하기 위하여 이루어진 것으로, 본 발명의 제 1 목적은 데이터베이스(DB)와 정보검색(IR) 통합을 위한 문서단위 동적 색인관리 특성을 갖는 정보검색 시스템 및 그 방법을 제공하는 데 있다.Accordingly, the present invention has been made to solve the above problems, and a first object of the present invention is to provide an information retrieval system and method having a document unit dynamic index management characteristic for integrating a database (DB) and information retrieval (IR). There is.

본 발명의 제 2 목적은 보조색인저장기의 과(過)색인정보를 주색인저장기에 자동으로 이동시키는 방식을 사용하는 데이터베이스(DB)와 정보검색(IR) 통합을 위한 문서단위 동적 색인관리 특성을 갖는 정보검색 시스템 및 그 방법을 제공하는 데 있다.A second object of the present invention is a document-based dynamic index management feature for database (DB) and information retrieval (IR) integration using a method of automatically moving over-index information of an auxiliary index store to a main index store. An information retrieval system having the same and a method thereof are provided.

상기 목적을 달성하기 위한 본 발명에 의한 데이터베이스(DB)와 정보검색(IR) 통합을 위한 문서단위 동적 색인관리 특성을 갖는 정보검색 시스템은, 문서를 동적으로 관리하는 정보검색 시스템에 있어서, 온라인으로 삽입, 삭제, 변경되는 문서의 포스팅 정보를 트랜잭션 방식으로 저장하는 보조색인저장기와; 상기 보조색인저장기에 저장된 포스팅 정보 중에서 미리 정해진 임계치 크기에 도달한 포스팅 정보를 주색인저장기로 이동시키는 색인펄싱(pulsing)장치; 및 상기 주색인저장기와 상기 보조색인저장기에 저장된 포스팅 정보를 사용하여 온라인으로 삽입, 변경, 삭제된 문서를 포함하여 원하는 정보를 검색하는 정보검색기;를 포함하여 구성된 것을 특징으로 한다.An information retrieval system having a document unit dynamic index management characteristic for integrating a database (DB) and an information retrieval (IR) according to the present invention for achieving the above object is an online information retrieval system for dynamically managing documents. An auxiliary index store for storing posting information of a document to be inserted, deleted or changed in a transactional manner; An index pulsing device for moving the posting information that reaches a predetermined threshold size among the posting information stored in the secondary index storage device to the main index storage device; And an information searcher for searching for desired information including documents inserted, changed or deleted online using the posting information stored in the main index storage and the sub index storage.

상기 보조색인저장기는 온라인으로 입력되는 문서의 포스팅 정보를 디스크 상의 보조저장소에 저장하고, 각 문서와 해당 문서로부터 추출된 모든 색인정보를 트랜잭션 단위로 처리하며, 모든 변경기록을 디스크 상의 로그로 기록하는 것을 특징으로 한다.The secondary index store stores posting information of documents entered online in a secondary storage on a disk, processes each document and all index information extracted from the document in transaction units, and records all change records in a log on disk. It is characterized by.

상기 색인펄싱장치는 상기 보조색인저장기의 특정 단어에 대한 포스팅 정보의 길이가 주어진 임계치 크기에 이르면 해당 포스팅 정보를 상기 주색인저장기로 이동시키고, 상기 보조색인저장기에 저장된 해당 포스팅 정보는 삭제하는 것을 특징으로 한다.The index pulsing apparatus moves the posting information to the main index storage when the length of the posting information for a specific word of the sub index storage reaches a given threshold size, and deletes the posting information stored in the sub index storage. It features.

상기 정보검색기는 주어진 질의에 대해서 상기 주색인저장기의 포스팅 정보와 상기 보조색인저장기의 포스팅 정보를 모두 활용하여 온라인에서 삽입, 삭제, 변경된 문서에 대해서 정확하게 검색해 주는 것을 특징으로 한다.The information searcher can accurately search for inserted, deleted, and changed documents online by utilizing both the posting information of the main index storage and the posting information of the secondary index storage for a given query.

또한, 상기 목적을 달성하기 위한 본 발명에 의한 정보검색 방법은, (a) 온라인으로 삽입, 삭제, 변경되는 문서의 포스팅 정보를 보조색인저장기에 트랜잭션 방식으로 저장하는 단계와; (b) 상기 보조색인저장기에 저장된 포스팅 정보 중에서 미리 정해진 임계치 크기에 도달한 포스팅 정보를 주색인저장기로 이동시키는 단계; 및 (c) 상기 주색인저장기와 상기 보조색인저장기에 저장된 포스팅 정보를 사용하여 온라인으로 삽입, 변경, 삭제된 문서를 포함하여 원하는 정보를 검색하는 단계;를 포함하여 구성된 것을 특징으로 한다.In addition, the information retrieval method according to the present invention for achieving the above object comprises the steps of: (a) storing the posting information of the document to be inserted, deleted, changed online in a secondary index storage in a transactional manner; (b) moving the posting information, which has reached a predetermined threshold size, from the posting information stored in the secondary index store to the main index store; And (c) searching for desired information including documents inserted, changed, or deleted online by using the posting information stored in the main index storage and the sub index storage.

상기 보조색인저장기는 온라인으로 입력되는 문서의 포스팅 정보를 디스크 상의 보조저장소에 저장하고, 각 문서와 해당 문서로부터 추출된 모든 색인정보를 트랜잭션 단위로 처리하며, 모든 변경기록을 디스크 상의 로그로 기록하는 것을 특징으로 한다.The secondary index store stores posting information of documents entered online in a secondary storage on a disk, processes each document and all index information extracted from the document in transaction units, and records all change records in a log on disk. It is characterized by.

상기 (b) 단계에서는 상기 보조색인저장기의 특정 단어에 대한 포스팅 정보의 길이가 주어진 임계치 크기에 이르면 해당 포스팅 정보를 상기 주색인저장기로 이동시키고, 상기 보조색인저장기에 저장된 해당 포스팅 정보는 삭제하는 것을 특징으로 한다.In the step (b), when the length of the posting information for a specific word of the auxiliary index storage reaches a given threshold size, the posting information is moved to the main index storage, and the posting information stored in the auxiliary index storage is deleted. It is characterized by.

상기 정보검색 방법은 주어진 질의에 대해서 상기 주색인저장기의 포스팅 정보와 상기 보조색인저장기의 포스팅 정보를 모두 활용하여 온라인에서 삽입, 삭제, 변경된 문서에 대해서 정확하게 검색하는 것을 특징으로 한다.The information retrieval method may accurately search for inserted, deleted, or changed documents online by using both the posting information of the main index storage and the posting information of the secondary index storage for a given query.

본 발명에 의한 데이터베이스(DB)와 정보검색(IR) 통합을 위한 문서단위 동적 색인관리 특성을 갖는 정보검색 시스템 및 그 방법에 의하면, 보조색인저장기의 과(過)색인정보를 주색인저장기에 자동으로 이동시키는 방식을 사용하여 데이터베이스(DB)와 정보검색(IR)을 통합하였다. 따라서, 본 발명에서는 정보검색기를 통해 상기 주색인저장기와 상기 보조색인저장기에 저장된 포스팅 정보를 사용하여 온라인으로 삽입, 변경, 삭제된 문서를 포함하여 원하는 정보를 검색할 수 있다.According to an information retrieval system having a document-level dynamic index management characteristic for integrating a database (DB) and an information retrieval (IR) according to the present invention, and according to the method, the over-index information of the sub-index storage is stored in the main index storage. The database and information retrieval (IR) are integrated using an automatic movement method. Therefore, in the present invention, the information searcher can search for desired information including documents inserted, changed or deleted online using the posting information stored in the main index storage and the sub index storage.

이하, 본 발명의 바람직한 실시 예에 대해 첨부한 도면을 참조하여 상세히 설명하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

실시 예Example

먼저, 본 발명에 대해 간단히 요약하면 다음과 같다.First, a brief summary of the present invention is as follows.

정보 검색(IR) 및 데이터베이스(DB)가 독립적으로 개발되는 동안, 건강관리 시스템, 게시판, XML 데이터 관리, 및 디지털 도서관과 같은 정보 시스템에서, 데이터 관리 및 효율적인 검색 이 두 가지를 동시에 지원되어야 한다는 새로운 요구가 있어왔다. 최근에는 DB-IR 통합 이슈가 이 연구 분야에서 대두되고 있다. While information retrieval (IR) and database (DB) are being developed independently, in information systems such as healthcare systems, bulletin boards, XML data management, and digital libraries, the new need to support both data management and efficient retrieval simultaneously There has been a demand. Recently, DB-IR integration issues have emerged in this field of research.

DB와 IR 간에 놓인 큰 차이 때문에 신규 문서 처리에 대한 색인 관리(index maintenance)에 두 분야에서 각기 다른 방식이 적용되었다. DB가 IR-형 색인을 구축하기 위한 순수 메커니즘을 가지지 않기 때문에 텍스트 필드를 처리하기 위해 SQL 계층을 확장하는 것에 반해, IR은 일반적으로 무결성 제약(integrity constraint)의 개념을 가지지 않기 때문에 새로운 문서 뭉치를 색인 관리의 논리 단위로서 취급한다. 그러나, DB-IR 통합을 위한 문서의 추가 또는 수정에서의 트랜젝션(Transaction)은, 그 문서에 수반된 포스팅 리스트들(postings list) 관리를 동시에 제공해야 하기 때문에 각 문서에 출현하는 색인 관리를 문서단위 트랜잭셔널 색인관리를 포함하여야 한다. Due to the large gap between DB and IR, different approaches have been applied to index maintenance for new document processing. While DB doesn't have a pure mechanism for building IR-type indexes, it extends the SQL layer to handle text fields, whereas IR generally doesn't have the concept of integrity constraints. Treated as the logical unit of index management. However, a transaction in the addition or modification of a document for DB-IR integration must provide the management of the postings list accompanying the document at the same time. Include transactional indexing.

본 발명에서는 문서를 삽입하기 위한 문서당 트랜잭션에 대한 몇 가지 방식들 - 직접 색인 업데이트(direct index update), 단독 보조 색인(stand-alone auxiliary index) 및 펄싱 보조 색인(pulsing auxiliary index) - 의 성능에 대해 평가한다. The present invention relates to the performance of several schemes for per-document transactions for inserting documents: direct index update, stand-alone auxiliary index and pulsing auxiliary index. Evaluate.

본 발명에서 테스트된 결과는, 긴(long) 보조 색인의 포스팅 리스트들이 주색인으로 인플레이스(in-place) 업데이트 되는 반면 짧은 리스트들은 보조 색인으로 직접 업데이트 되는 펄싱 보조색인 방식이, DB-IR 통합에서의 텍스트 필드(text field) 인덱싱을 위한 매력적인 후보일 수 있다는 것을 보여준다.The results tested in the present invention show that the pulsing secondary index is a method in which the posting lists of long secondary indexes are updated in-place with the primary index while the short lists are updated directly with the secondary index. It can be seen that it can be an attractive candidate for indexing text fields in.

1. 도입1. Introduction

데이터의 세계는, 구조화된 관계형(structured relational) 데이터 모델과 비구조적(unstructured) 텍스트 모델, 이 두 가지 주요 관점으로부터 개발되어 왔다. 데이터베이스(DB)와 정보검색(IR)이라는 2개의 독특한 문화는, 이제 반구조적(semi-structured) XML 모델을 이용하여, 웹(WEB)에서 자연스럽게 합류점을 갖는다. 웹-스타일 검색이 유비쿼터스 툴(ubiquitous tool)이 되어 갈수록, 이들 2 가지 관점의 통합에 대한 필요성은 더 중요해진다(Consens and Baeza-Yates [13]).The world of data has been developed from two main perspectives: structured relational data models and unstructured text models. Two unique cultures, databases (DB) and IR, now have a natural confluence on the web, using a semi-structured XML model. As web-style search becomes a ubiquitous tool, the need for integration of these two perspectives becomes more important (Consens and Baeza-Yates [13]).

DB-IR 통합은 데이터베이스 영역[15, 1, 10] 및 정보 검색 영역[3, 13, 6]에 대한 연구 분야에서 최근에 관심을 끌고 있는 영역이다.DB-IR integration is an area of recent interest in the research area of database areas [15, 1, 10] and information retrieval areas [3, 13, 6].

DB의 구조 데이터 관리와 IR의 텍스트 검색 기능을 합병하기 위한 여러 가지의 접근이 있었다. 많은 정보 시스템에서 가장 일반적으로 채용된 구조인, 첫 번째 접근은 기존 DB와 IR 엔진을 응용프로그램(application) 또는 미들웨어(middleware) 수준에서 단순히 합친 것이다. 이를 미들웨어 방식이라고 불린다[10]. 이 미들웨어 방식에서는, DBMS 엔진이 문서들을 관리하고, 정보 검색 시스 템(Information Retrieval System: IRS)은 색인 구축과 사용자 질의 평가를 지원하는데 관여한다.There are several approaches to merging the structure data management of the database and the text search capabilities of the IR. The first approach, the most commonly adopted architecture in many information systems, simply combines existing DB and IR engines at the application or middleware level. This is called the middleware method [10]. In this middleware approach, the DBMS engine manages the documents, and the Information Retrieval System (IRS) is involved in supporting index building and user query evaluation.

웹 검색 엔진은, 문서가 DB-형이지만 매우 단순화된 관리 특성을 가지는 웹 크롤러(web crawler)들에 의해 수집되고, 색인은 - 비록 일반적으로 오프라인으로 구축되지만 - 개별 색인 서버에 의해 구축되는 방법론을 취한다. 이러한 미들웨어 구성은, 정보 서비스의 실제 현장에서 보편적이기는 하지만, DBMS 문서 내용과 IRS 색인 정보를 동기화하는 것이 매우 까다로우며, 그럼으로써 문서-색인 결손(document-index gap)을 초래하게 된다. 더욱이 이러한 접근은, DB가 IR 관점에서는 블랙박스(black box)라는 것과 그 외 기타 등등의 이유로 인해, DB와 IR 기능을 충분히 활용할 만큼 강력하지 못하다.Web search engines use a methodology in which documents are gathered by web crawlers, which are DB-type but with very simplified administrative characteristics, and indexes-although generally built offline-are built by individual index servers. Take it. While this middleware configuration is common in the real world of information services, it is very difficult to synchronize DBMS document content and IRS index information, resulting in a document-index gap. Moreover, this approach is not powerful enough to take full advantage of the DB and IR capabilities, for reasons such as a black box from an IR perspective, and so on.

두 번째 접근은 IR 기능들을 느슨하게 결합함으로서 DBMS를 확장시킨다. 이를 '느슨한 결합(소결합; loose coupling)'이라고 불린다[30]. 상업적인 DBMS 벤더들은 상위-레벨(전형적으로, SQL-레벨) 인터페이스를 이용하여 구현된 텍스트 확장구조를 제공한다. 오라클의 데이터 블레이드(Oracle's data blade), DB2의 카트리지(cartridge) 및 인포믹스(Informix)의 확장기(extender)가 이들 부류에 속한다. 비록 느슨한 결합이 용이하게 구현될 수 있다고는 하지만, 이러한 느슨한 결합은 현재 데이터베이스 시스템에 내장된 많은 가정을 위반하고 있으며[1], 고성능이 요구될 경우에 큰 데이터베이스에서 새로운 데이터 유형들이나 기능을 구현하는 데 바람직하지 못하다[30]. The second approach extends the DBMS by loosely coupling IR functions. This is called 'loose coupling' [30]. Commercial DBMS vendors provide text extensions implemented using higher-level (typically, SQL-level) interfaces. Oracle's data blades, DB2's cartridges, and Informix's extenders are among these classes. Although loose coupling can be easily implemented, this loose coupling violates many of the assumptions inherent in current database systems [1], which allows new data types or functions to be implemented in large databases when high performance is required. Undesired [30].

느슨한 결합의 또 다른 예인 QUIQ 엔진에서는 DBMS의 하이브리드 IR-DB 시스 템이 모든 베이스 데이터를 보유하고, 외부 색인 서버가 그 색인을 유지한다[21]. Top-k 검색 기술들을 이용하여 반-구조 데이터(XML)에 검색을 결합하는 TopX 엔진은, 상용 RDBMS(오라클) 상에 구축된다[28]. 실험용 관계형 데이터베이스 엔진인 MonetDB/X100은 트렉-테라바이트(TREC-TeraByte) 텍스트 데이터에 대한 역리스(inverted list)를 개별 관계형 테이블로서 구축함으로써 유사한 효율 및 효과를 나타냈다[20].In the QUIQ engine, another example of loose coupling, the hybrid IR-DB system of the DBMS holds all the base data, and the external index server maintains the index [21]. The TopX engine, which combines search with semi-structured data (XML) using Top-k search techniques, is built on a commercial RDBMS (Oracle) [28]. MonetDB / X100, an experimental relational database engine, has shown similar efficiency and effectiveness by building an inverted list of TREC-TeraByte text data as individual relational tables [20].

세 번째 접근은 IR 특성을 강하게 결합하는 것[30] 또는 그 역을 수행함으로써, DBMS를 확장하는 것이다. 따라서 강한 결합(밀결합; tight-coupling)이라고 한다. 이 DBMS과 IR 특성의 강한 결합에서는, 새로운 데이터 유형들과 그들의 해당 IR 동작이, 확장가능한 유형 계층에 있는 DBMS 엔진의 코어로 통합된다. 이 범주에 속하는 잘 알려진 예로서 오디세우스(Odysseus) 시스템이 있다[30]. 오디세우스는 강하게 결합된 IR 특성을 갖는 객체-관계형 데이터 베이스 관리 시스템(ORDBMS)이다. DB에 IR을 강하게 결합하는 방식과는 반대방향으로 IRS에 몇몇 DB 기능을 통합하려는 방식이 있다. 이 방식에서는 트랜잭셔널 데이터 관리가 IRS 엔진의 코어로 합병된다[17]. 본 발명에서는 이러한 종류의 IR-확장 엔진을 IRMS(정보 검색 & 관리 시스템 : Information Retrieval & Management System)이라고 부른다.The third approach is to extend the DBMS by strongly combining the IR characteristics [30] or vice versa. Therefore, it is called tight-coupling. In this strong combination of DBMS and IR characteristics, the new data types and their corresponding IR behavior are integrated into the core of the DBMS engine in the extensible type layer. A well known example of this category is the Odysseus system [30]. Odysseus is an object-relational database management system (ORDBMS) with strongly coupled IR characteristics. There is a way to integrate some DB functions in the IRS in the opposite direction to the strong combination of IR in the DB. In this way, transactional data management is merged into the core of the IRS engine [17]. In the present invention, this kind of IR-extension engine is called IRMS (Information Retrieval & Management System).

마지막 접근은 처음부터 DB-IR 통합시스템을 밑그림부터 설계하는 것이다. 이러한 접근은 [10, 1]에서 논의된다. 새로운 DB-IR 단일화 시스템 구성이 구조적인 데이터 독립성, 일반화된 순위매김(generalized scoring), 및 유연하고 강력한 질의 언어의 장점을 갖는다고 제시되었다[1]. Chaudhuri와 그 동료들은 DB-IR 통합 에서 RISC-스타일 기능을 갖는 스토리지-레벨 코어 시스템을 가장 타당한 구성이라고 제안하였다[10].The final approach is to design a DB-IR integrated system from scratch. This approach is discussed in [10, 1]. The new DB-IR unification system scheme has been suggested to have the advantages of structural data independence, generalized scoring, and a flexible and powerful query language [1]. Chaudhuri and colleagues suggest that a storage-level core system with RISC-style functionality in DB-IR integration is the most reasonable configuration [10].

도 1은 DB와 IR의 접근 방식에 따른 정보 시스템 평가 결과를 나타낸 도면이다. 여기서, DB에 IR의 강한 결합(IR on DB Tight coupling), DB-IR 통합(DB-IR integration), 오디세우스(odysseus), DB 확장기(DB Extender), DB2 카트리지(DB2 cartridge), DB-IR 미들웨어 접근(DB-IR middleware approach), 웹 검색 엔진(Web search engine) 등이 도시되어 있으며, DB와 IR이 서로 다른 능선을 타고 DB-IR 통합의 정상까지 올라갈 것이라는 것을 보여준다.1 is a diagram illustrating an evaluation result of an information system based on a DB and an IR approach. Where IR on DB Tight coupling, DB-IR integration, Odysseus, DB Extender, DB2 cartridge, DB-IR middleware The DB-IR middleware approach, Web search engine, etc. are shown, showing that the DB and IR will climb on different ridges to the top of DB-IR integration.

도 1에서는 비교를 위해 웹 크롤러 및 웹 검색 엔진들이 포함되었다. 웹 크롤러는 색인되는 웹 문서들을 수집하는 프로그램이며, 여기서 웹 페이지 콘텐츠는 키(key)로서 URL들에 의해 관리된다. 웹크롤러의 관점에서, 데이터 관리는 성능에 필수적이지만, 검색은 웹 크롤러에서 중요한 특성이 아니다. 한편, 웹 검색 엔진은 일종의 수천만 내지 수십억 개의 웹 페이지들을 검색하기 위해 맞춤화된 IRS이다. 웹 검색 엔진들은 통상적으로 웹 크롤러들에 의해 주기적으로 수집된 문서들로부터 상기 색인을 재구성한다. 따라서, 데이터 관리는 주요 인자가 아니지만 검색 특성은 웹 검색 엔진에서 필수적이다. In FIG. 1 a web crawler and web search engines are included for comparison. A web crawler is a program that collects indexed web documents, where web page content is managed by URLs as a key. From a web crawler's perspective, data management is essential for performance, but search is not an important feature for web crawlers. On the other hand, a web search engine is an IRS customized for searching tens of millions to billions of web pages. Web search engines typically rebuild the index from documents collected periodically by web crawlers. Thus, data management is not a major factor, but search characteristics are essential for web search engines.

웹 검색 엔진들에서는, 웹 페이지 콘텐츠가 지극히 단순화된 데이터베이스 시스템으로서 간주될 수 있는 웹 크롤러들에 의해 처리된다. 따라서, 웹 검색 엔진들은, 간단히 말하면, DB-IR 미들웨어 구성 부류에 속한다.In web search engines, web page content is handled by web crawlers, which can be regarded as extremely simplified database systems. Thus, web search engines, in short, belong to the DB-IR middleware component class.

DB(DBMS)는, IR 특성들을 포함하여, 전통적인 데이터베이스 세계에서는 관심 밖이었던 많은 추가적인 특성들을 채용하였다[18]. IRS는 트랜젝션 프로세싱, 조인(join), 형성 뷰(materialized view), 트리거(trigger) 등과 같은 사용자 요구들에 직면하고 있다. 비록 DB와 IR은 그 출발점이 다르기는 하지만 궁극적으로는 DB-IR 통합이라는 단일한 목표에 수렴될 것이다.The DB (DBMS) employs many additional features, including IR features, that were not of interest in the traditional database world [18]. IRS faces user needs such as transaction processing, joins, materialized views, triggers, and the like. Although DB and IR have different starting points, they will eventually converge on a single goal of DB-IR integration.

목표에 도달하기 위해서는, 해결해야 할 많은 문제(이들 문제에 대한 보다 상세한 내용은 [10, 18, 3, 1]를 참조)를 갖는 험하고 긴 여정을 거쳐야 할 것이다. DB-IR 단일화가 갖는 근본적인 문제들 중의 하나는 동적 색인 관리로서, 여기서는 텍스트 필드에 대한 그 성능이 IR과 DB 양자 모두에서 주요 장애이다. 색인 관리에 관한 연구는 본 섹션의 마지막 부분에서 언급될 것이다.To reach the goal, you will have to go through a long and difficult journey with many problems to solve (see [10, 18, 3, 1] for more details on these problems). One of the fundamental problems with DB-IR unification is dynamic index management, where its performance on text fields is a major obstacle in both IR and DB. Research on index management will be discussed at the end of this section.

IR의 관점에서, 색인 업데이트와 검색이 동시에 이루어지는 동적 검색 환경에서, 텍스트 검색을 위한 색인 관리 방식이 과거 몇 년 동안에 걸쳐서 광범위하게 연구되었다[25, 24, 9, 23]. IR에서 색인 업데이트 방식을 구현하기 위해, 다수의 신규 문서들을 묶어서 이에 대한 색인을 하고 나서 그것을 기존의 색인과 병합하는 것은 용이한 작업이다[24, 23]. 새로운 문서들에 대한 색인을 버퍼링하면, 그것들이 많은 용어들을 공유할 것이기 때문에, 색인 업데이트의 문서단위 비용은 상당히 감소할 수 있다. 이러한 접근들은, 입력되는 문서들에 대한 포스팅 리스트를 인메모리(in-memory) 데이터 구조로 관리하며, 주어진 메모리 사이즈, 시간 간격(interval) 및 새로운 문서의 수와 같은, 어떤 임계 조건들과 만나면, 인메모리 색인을 디스크상의(on-disk) 주색인(main index)으로 병합된다.From an IR perspective, in a dynamic search environment where both index updating and retrieval are performed simultaneously, index management for text search has been extensively studied over the past few years [25, 24, 9, 23]. In order to implement an index update scheme in IR, it is easy to bundle and index multiple new documents and merge them with existing indexes [24, 23]. By buffering the index for new documents, the document cost of updating the index can be significantly reduced because they will share many terms. These approaches manage the posting list for incoming documents in an in-memory data structure, and if they meet certain critical conditions, such as given memory size, time interval, and number of new documents, The in-memory index is merged into the on-disk main index.

DB-IR 미들웨어 접근에서와 같이, IR은 통상적으로 데이터 관리의 책임을 다 른 툴들 또는 DBMS와 같은 소프트웨어에 전가한다. 더욱이 텍스트 검색 시스템에는 무결성 제약 개념이 없는데, 이는 소스 문서들로부터 언제든지 색인을 추출할 수 있기 때문이다. 따라서 IR에서는 입력 문서들에 대한 색인의 업데이트들이 반드시 동시적일 필요가 없으며, IR 접근들의 대부분은 색인 관리에 있어서 새로운 문서들의 뭉치(bunch)를 동적 색인관리작업의 논리 단위로 간주한다.As in the DB-IR middleware approach, IRs typically transfer the responsibility for data management to other tools or software such as a DBMS. Moreover, text search systems do not have the concept of integrity constraints because they can extract the index from source documents at any time. Thus, in IR, updates of the index to input documents do not necessarily have to be concurrent, and most of the IR accesses consider a bunch of new documents as the logical unit of dynamic indexing in index management.

하지만 상황은 급박하게 변하고 있다. 십년 이상 IR 분야를 다루는 동안, 본 발명에서는 신속한 중간 색인 업데이트뿐만 아니라 IR 콘텐츠의 신속한 장애 복구에 대한 사용자 요구에 직면하고 있다. 문서 뭉치 접근방식은 이러한 요구를 충족하지 못하는데, 이는 장애 시에 인메모리 포스팅이 손실될 수 있고, 또한 그를 재구성하는 것은 너무나 시간 소모적일 수 있기 때문이다. 또한 일반적으로 현장의 관리자들은 자신들이 사용하고 있는 텍스트 시스템에 대해 깊게 알지 못하기 때문에 이러한 작업과정을 현장 관리자들에게 전달하는 것 또한 매우 복잡한 작업일 수 있다. But things are changing urgently. While dealing with the IR field for more than a decade, the present invention faces user demands for rapid failure recovery of IR content as well as rapid intermediate index updates. The document stack approach does not meet this requirement because in-memory postings can be lost in the event of a failure, and rebuilding them can be too time consuming. Also, because site managers typically do not know deeply about the text system they are using, communicating this process to site managers can also be a very complex task.

이러한 실질적인 관점과 더불어 본 발명에서의 DB-IR 통합의 학술적인 고려에서는, 문서와 그에 수반된 색인 간에는 무결성 제약이 있어야 한다는 점을 강조한다. 만일 어떤 환경에서 색인의 일부가 손실될 가능성이 있다면, 그것은 데이터 무결성과 거리가 멀다고 할 수 있는데, 이는 데이터 무결성이 단순히 데이터를 그들의 “의도된 용도”를 위해 보전하는 것으로 정의될 수 있기 때문이다. 검색은 데이터의 기본적인 의도된 용도일 수 있기 때문에, 문서-색인간 무결성이 DB-IR 통합에서는 보장되어야 한다. 문서-색인 무결성을 지원하기 위해, DB-IR 통합은, 작 업 단위가 하나의 문서 및 그 색인 정보를 포함하는 ACID 특성들을 가지는, 문서단위 트랜잭션을 지원해야 할 것이다. 그리고 모든 트랜젝션들은, 전통적인 DB가 그러는 것처럼, 장애 또는 중단이 발생하기 전에 시스템을 그 상태로 올바르게 재생성하게 재생(played back)될 수 있는, 로그(log)를 기록해야 한다.In addition to this practical aspect, the academic consideration of DB-IR integration in the present invention emphasizes that there must be an integrity constraint between the document and the accompanying index. If a part of the index is likely to be lost in some circumstances, it can be said to be far from data integrity because data integrity can be defined as simply preserving data for their “intended use”. Since retrieval can be the primary intended use of the data, document-index integrity must be ensured in DB-IR integration. To support document-index integrity, DB-IR integration will have to support document-level transactions, where the unit of work has ACID characteristics that include one document and its index information. And all transactions must log, like traditional DBs, that can be replayed back into the system correctly before failure or interruption occurs.

본 발명에서는 이러한 정책을 문서단위 트랜잭셔널 색인 관리라고 부르기로 한다.In the present invention, such a policy will be referred to as document-level transactional index management.

본 발명에서는 색인 관리의 문서단위 트랜잭션에 대한 2개의 온-디스크 보조색인 방식을 제안하고 그들의 성능을 직접 업데이트 방식과 비교한다. 트랜잭셔널 색인 관리는 벌크 문서 방식보다는 성능이 떨어질 것으로 예상되는데, 그것은 불가피하게 수많은 포스팅 업데이트 및 온-디스크 트랜젝션 로그들에 대한 과도한(heavy) 디스크 접근이라는 부담을 가지기 때문이다. The present invention proposes two on-disk subindex schemes for document-based transactions of index management and compares their performance with direct update schemes. Transactional index management is expected to perform poorer than bulk documenting because it inevitably burdens you with heavy disk access to numerous posting updates and on-disk transaction logs.

보조 색인방식은, 새로이 도달한 문서들 및 변경된 문서들의 포스팅 리스트를 포함하는, 온-디스크 보조 데이터 구조이다. 독립적인 보조 색인인 첫 번째 보조색인 방식은, 들어오는 문서들의 포스팅 리스트를 아무 제약 없이 축적한다. 펄싱 보조 색인인 두 번째 방식은, 어느 임계값에 도달할 때까지 보조 데이터 구조의 포스팅 리스트를 축적한다. 포스팅 리스트가 임계값까지 쌓이게 되면, 해당 포스팅 리스트는 메인 색인에 병합된다. Auxiliary indexing is an on-disk auxiliary data structure that includes a posting list of newly arrived documents and modified documents. The first subindex, an independent subindex, accumulates an unlimited list of incoming documents. The second approach, a pulsing secondary index, accumulates a posting list of secondary data structures until a certain threshold is reached. When a posting list builds up to a threshold, the posting list is merged into the main index.

이러한 접근들을 KRISTAL-IRMS에서 테스트하였으며, 테스트는 학술지 기사에 대한 서지 데이터로서 각 데이터가 100개 이상의 고유한 단어를 포함고 있다. 여기서, KRISTAL은 Knowledge Retrieval In Science and Technology Affiliated Literatures의 약자이다. 이는 최종적으로 완전한 DB-IR 통합을 위한 IRMS을 목표로 한다. KRISTAL-IRMS의 소스는 http://www.kristalinfo.com에 공개되어 있다.These approaches were tested by KRISTAL-IRMS, which is bibliographic data for journal articles, where each data contains more than 100 unique words. Here, KRISTAL stands for Knowledge Retrieval In Science and Technology Affiliated Literatures. This ultimately aims for an IRMS for full DB-IR integration. The source of KRISTAL-IRMS is available at http://www.kristalinfo.com .

보조 접근들은 직접 업데이트 방식을 능가하고, 펄싱 방법은 단독 보조 색인방식의 보다 성능이 뛰어나다. 빈번한 디스크-액세스 오버헤드로부터 예상되는 바와 같이, 본 발명에서의 결과는 온-디스크 보조 접근에서 2 내지 5초의 문서단위 삽입 속도를 보여주며, 이는 문서뭉치 접근방식의 대략 0.1 초보다 상당히 성능이 낮은 것이고, 따라서 향후 연구에 대한 많은 여지를 남기고 있다.The secondary approaches outperform the direct update method, and the pulsing method outperforms the single secondary index method. As expected from frequent disk-access overhead, the results in the present invention show a document insertion speed of 2 to 5 seconds in on-disk assisted access, which is significantly lower than approximately 0.1 seconds of the document stack approach. This leaves much room for future research.

섹션 2에서는, 온라인 색인 관리에 관한 관련 연구에 대해 간략한 개요를 설명한다. 섹션 3은 트래젝션 단위가, IR 필드에서의 전통적인 색인 관리 접근의 문서뭉치가 아닌, 입력되는 단일 문서가 되는 트랜잭셔널 관리를 설명한다. 실험 방법들과 결과들은 섹션 4 및 5에 각각 설명하였다. 마지막으로 섹션 6에서 본 발명에서의 결론과 향후 연구에 대한 제안을 할 것이다.Section 2 provides a brief overview of relevant research on online index management. Section 3 describes transaction management, in which the unit of transaction is a single document to be entered, rather than the document stack of a traditional index management approach in the IR field. Experimental methods and results are described in sections 4 and 5, respectively. Finally, in section 6, the conclusions of the present invention and suggestions for future studies will be made.

2. 관련 연구2. Related Research

대용량 텍스트 데이터를 위한 고성능 검색 시스템들에서 역파일이 가장 효율적인 데이터 구조라는 것은 이미 입증되었으며[33], 역 리스트 색인을 고안하는데 지금까지 방대한 연구가 있었다[16, 31, 32]. 또한 문서 삽입, 삭제 또는 수정을 효율적으로 처리할 수 있는 역 리스트를 고안하는 연구들도 있었다[29, 21, 25, 24, 23, 9]. 이들 연구는 효율을 위해서 가능한 한 많은 문서를 단위 작업으로서 처리하는 방식으로 색인 관리 문제에 접근하였다. It has already been proven that inverted files are the most efficient data structure in high performance retrieval systems for large text data [33], and there has been extensive research so far in devising inverse list indexes [16, 31, 32]. There are also studies that devise inverted lists that can efficiently handle document insertion, deletion or modification [29, 21, 25, 24, 23, 9]. These studies approached the index management problem by treating as many documents as possible as units of work for efficiency.

짧은 리스트는 어휘 구조로 유지하고 긴 리스트는 온-디스크 보조 힙(heap) 구조에 펄싱하는 인메모리 버퍼링 구성으로서의 펄싱 기술이 [14]에 소개되었다. [8]에 개시된 시스템 및 스파이더(Spider) IR 시스템[22]은 색인 변경을 인플레이스(in-place)로 진행한다. 골드 메일러 시스템(Gold Mailer system)[4, 5]은 변경을 주기적으로 진행한다. 공개적으로 이용가능한 검색 엔진 프레임워크인 Lucene[7]은 메모리 임계값에 근거하여 변경을 적용한다. [29, 27]에서의 연구들은 인플레이스 방식에서의 공간 할당 방식들을 연구하였으며, 여기서는 짧은 리스트들이 고정 사이즈 버킷들로 그룹 지어져서 수많은 소규모 역 리스트를 위한 공간 관리 문제를 줄여준다. 그리고 오버앨로케이션(overallocation) 방법이 [26]에서 추가적으로 확장되었다. 디스크로의 색인 업데이트를 전달에 있어서의 입도(granularity)가 [12]에서 고려되었다. 랜드마크-디프(landmark-diff) 업데이트 방법이라고 불리는 기술은 콘텐츠가 변경된 기존 문서들에 대한 색인 업데이트 성능을 개선하기 위해 도입되었다[25].A pulsing technique as an in-memory buffering scheme, in which short lists are kept in lexical structure and long lists are pulsed in on-disk auxiliary heap structure, was introduced in [14]. The system and Spider IR system disclosed in [8] proceed with index changes in-place. The Gold Mailer system [4, 5] periodically makes changes. Lucene [7], a publicly available search engine framework, applies changes based on memory thresholds. The studies in [29, 27] studied space allocation schemes in in-place schemes, where short lists are grouped into fixed-size buckets to reduce the space management problem for many small station lists. And the overallocation method was further extended in [26]. Granularity in delivering index updates to disk was considered in [12]. A technique called the landmark-diff update method has been introduced to improve index update performance for existing documents whose content has changed [25].

대부분의 색인 관리 방식은 입력되는 문서뭉치를 위한 포스팅을 메인 메모리에 축적하여 인메모리 역 파일을 구축함으로써 동작한다. 디스크-액세스 비용을 분할 상환하기 위해, 이들 인메모리 포스팅을 기존 온디스크 메인 색인으로 쓰거나 전달하는 동작이 어느 예정된 임계값까지 지연된다. 텍스트 필드를 위한 DBMS 확장기인 QUIQ 엔진은, 고정된 시간 간격에 근거하여, 색인 변경을 온-디스크 색인으로 옮긴다[21]. IR에서의 작업은 일반적으로, 메모리 임계값 또는 업데이트된 문서의 수를 초과하는 이벤트들에 의해, 축적된 변경정보들을 디스크로 전달한다[23, 9]. 이와 같이, 변경된 문서들은 업데이트해야 하는 색인어들을 공유하기 때문에 문서뭉치 단위로 색인을 관리하는 방식에서는 디스크 액세스가 크게 감소되고, 그럼으로써 개선된 인덱싱 성능을 준다. 그러나 장애 하에서는 문서들과 색인들 간의 데이터 무결성이 이들 문서뭉치 접근방식에서는 손상될 수 있다.Most index management schemes work by building an in-memory reverse file by storing postings for incoming document bundles in main memory. In order to pay off the disk-access cost, the operation of writing or delivering these in-memory postings to the existing on-disk main index is delayed to some predetermined threshold. The QUIQ engine, a DBMS extender for text fields, moves index changes to on-disk indexes based on a fixed time interval [21]. Work in the IR generally delivers accumulated change information to disk by events that exceed the memory threshold or the number of documents updated [23, 9]. As such, the changed documents share the index words that need to be updated, so disk access can be greatly reduced in the index-managed indexing scheme, thereby providing improved indexing performance. However, in the event of a failure, the data integrity between documents and indexes can be compromised in these document stack approaches.

문서집합이 문서들의 스코어 순서를 정하는 청크들(chunks)"로 나뉘어지는, 청크(Chunk) 방법이 문서수정-집약적인 환경 하에서의 관계형 데이터베이스의 구조 데이터 값들에 대한 서열 질의를 처리하도록 새롭게 도입되었다[19]. 그러나, 청크 방법은 수치 데이터 유형과 오직 문서수정-집약적인 시스템을 위해 설계되었기 때문에, 텍스트 데이터 유형들과 문서삽입-집약적인 환경에 적용되기가 어렵다. CompleteSearch 시스템[6]에서는, 새로운 종류의 색인 데이터 구조인 HYB가 콘텍스트-의존 프리픽스 검색을 지원하도록 도입되었다. 블록 색인인 HYB는 많은 (word_id, document_id) 쌍들로 구성되며, 단어의 위치들을 이용하여 증가할 수 있다. 그러나 온라인 색인 관리에서 HYB 데이터 구조의 성능은 여전히 확실치 않다.The Chunk method, in which a document set is divided into "chunks that order documents", has been newly introduced to process a sequence query for structural data values of a relational database under a document-intensive environment [19]. However, because the chunking method is designed for numerical data types and only document-intensive systems, it is difficult to apply to text data types and document-intensive environments. The index data structure of HYB was introduced to support context-dependent prefix retrieval: The block index HYB is composed of many (word_id, document_id) pairs and can be augmented using the locations of words, but in online index management The performance of the HYB data structure is still unclear.

3. 3. 트랜잭셔널Transactional 색인 관리( Index management ( TransactionalTransactional IndexIndex MaintenanceMaintenance ))

대부분의 정보검색시스템은, 무결성 제약이라는 개념이 없기 때문에, 새로운 문서들의 블록을 - 효율성을 위해 - 색인 관리의 단위로 간주할 기회를 갖고 있다. 그러나 DB-IR 통합을 위해, 그리고 텍스트 서비스 영역의 데이터베이스 관리자들로부터의 필드 요구를 충족하기 위해, 색인 관리는 인-메모리가 아닌 온-디스크 저장장치 수준에서 지원되어야 한다. 이는 색인 관리 프로세스의 논리적 단위가 각 문 서(다수의 문서가 아닌) 및 그에 수반된 색인 정보로 구성되어야 한다는 것을 의미한다. 그리고 DB-IR 통합시스템은 DBMS의 ACID 특성을 지원하기 위해, 색인 관리시에 로그를 기록할 수 있어야 한다.Most IR systems have the opportunity to consider new blocks of documents-for efficiency-as a unit of index management, because there is no concept of integrity constraints. However, for DB-IR integration, and to meet field requirements from database administrators in the text services area, index management must be supported at the on-disk storage level, not in-memory. This means that the logical unit of the index management process should consist of each document (not a large number of documents) and the accompanying index information. In addition, the DB-IR integrated system must be able to record logs during index management to support the ACID characteristics of the DBMS.

본 발명에서는, 각 문서와 그 색인을 트랜잭션 단위로 간주하는 문서단위 색인 관리에 대하여, 3가지 방식, 즉 직접 색인 업데이트, 단독 보조 색인, 및 이들 2가지에 대한 하이브리드 방식인 펄싱 보조 색인 방식을 테스트하였다.In the present invention, the pulsing secondary indexing method, which is a hybrid method for three methods, that is, a direct index update, a single secondary index, and the two, is tested for document-based index management that considers each document and its index as a transactional unit. It was.

본 발명의 모든 실험들에서는, 색인 데이터에서의 모든 변경이 문서단위 트랜잭션 단위로 디스크에 로그 된다. 만일 트랜잭션이 성공적이라면, 상기 로그는 폐기된다. 그렇지 않고 상기 트랜잭션이 어떤 이유로 실패한다면, 상기 로그는 바로 직전의 트랜젝션 상태로 되돌리기 위해 이용된다. 본 발명의 관점에서, 모든 역 리스트들은, 모든 위치 정보, 즉 주어진 용어의 모든 출현에 대한 정확한 정보를 포함한다. 본 발명에서의 보조 접근이 2개의 개별적인 온-디스크 색인을 포함하기 때문에, 기존 문서들에 대한 최초 색인을 주색인라고 부르고, 새로 입력된 문서들에 대한 추가 또는 변경된 색인을 보조색인이라고 부른다.In all experiments of the present invention, all changes in index data are logged to disk in document-by-document transactions. If the transaction is successful, the log is discarded. Otherwise, if the transaction fails for some reason, the log is used to return to the immediately preceding transaction state. In the context of the present invention, all station lists contain all location information, ie accurate information for every occurrence of a given term. Since the secondary approach in the present invention includes two separate on-disk indexes, the initial index for existing documents is called the primary index, and the added or modified index for newly entered documents is called the secondary index.

3.1. 직접 색인 업데이트(3.1. Manual index update ( DirectDirect IndexIndex UpdateUpdate ))

색인을 직접 업데이트하는 방법은, 단순히 새로운 문서에 관한 정보를 포함하는 색인을 리스트 마다(list by list) 수정하는 것이다. 주색인을 직접 업데이트하는 방식은 직관적이고 매우 단순한 색인 업데이트 방식이다. 문서가 시스템에 입력될 때마다, 각 용어에 대한 포스팅 리스트가 주색인에 추가된다. 이는 일반적으 로 새로운 문서의 각 용어를 위해 기존의 온-디스크 포스팅 리스트들을 재배치할 것을 요구한다. 새로운 문서는 일반적으로 수많은 용어들을 가지고 있기 때문에, 주색인에 대한 이러한 종류의 직접적인 제자리(in-place) 업데이트는, 주색인의 포스팅 리스트에 대해 상당히 시간-소모적인 재배치가 요구된다. 주색인에서의 포스팅 리스트의 과할당(overallocation) - 모든 포스팅 리스트 이후에 약간의 자유 공간을 남기는 - 정책이 이렇게 비용이 드는 동작을 줄이기 위해 제안되었다[9]. 그러나 과할당 크기가 실제 데이터베이스에서는 예측가능하지 않고, 업데이트 및 문서의 추가가 거의 없거나 엄청난 양의 문서가 삽입되어 포스팅 리스트의 할당된 자유 공간상에 쌓인 후에는 과할당이 없는 것과 동일한 상황이 될 경우에는 과할당 정책이 무효화 될 수 있다. 따라서 본 발명에서는 본 실험에서 과할당 방식을 고려하지 않는다.The way to update the index directly is to simply modify the index by list, which contains information about the new document. Manually updating the main index is an intuitive and very simple index update. Each time a document is entered into the system, a posting list for each term is added to the main index. This usually requires relocating existing on-disk posting lists for each term in the new document. Since new documents generally have a number of terms, this kind of direct in-place update to the main index requires a fairly time-consuming relocation of the main index's posting list. Overallocation of the posting list in the main index-leaving some free space after every posting list-has been proposed to reduce this costly operation [9]. However, if the over-allocation size is unpredictable in a real database and there are few updates and additions, or if there is a huge amount of documents inserted and accumulated in the allocated free space of the posting list, then there is no over-allocation. The over-allocation policy could invalidate. Therefore, the present invention does not consider the over-allocation scheme in this experiment.

직접 업데이트 방식에서는 질의처리 성능이 완전히 재구축된 데이터베이스와 유사한데, 이는 포스팅 리스트가 연속적인 것이 보장되기 때문이다. 그러나 주색인의 포스팅 리스트의 빈번한 재배치는 업데이트 성능을 상당히 떨어뜨릴 것이다. 일반적으로 하나의 문서는 수많은 용어를 포함하기 때문에, 색인 업데이트는 수많은 디스크 액세스를 포함하게 되며, 이 경우에 데이터베이스가 매우 작거나 업데이트 빈도가 실질적으로 매우 낮을 경우에만 비용을 감당할 수 있다.In the direct update method, query processing performance is similar to that of a completely rebuilt database, because the posting list is guaranteed to be continuous. However, frequent relocation of the main index's posting list will significantly reduce update performance. In general, a document contains a number of terms, so index updates will involve a lot of disk access, in which case you can afford to pay only if the database is very small or the frequency of updates is very low.

3.2. 단독 보조 색인(3.2. Exclusive secondary index ( StandStand -- alonealone AuxiliaryAuxiliary IndexIndex ))

직접 업데이트 방식에서는 긴 포스팅 리스트의 빈번한 재배치가 일어날 것으 로 예상된다. 각각의 재배치 사이즈가 충분히 작도록 축소된다면, 전체 업데이트 성능이 향상될 수 있다. 각 재배치 사이즈를 축소하기 위해, 본 발명에서는 입력되는 문서들에 대한 온-디스크 보조 색인을 도입하였다. 새로운 문서가 도달할 때마다, 인덱싱 결과가 주색인이 아닌 보조색인에 추가된다. 도 2에 도시한 바와 같이, 삭제는 삭제리스트에 추가되고, 기존 문서의 수정은 수정리스트를 이용하여 (삭제 + 삽입)으로 수행된다. 데이터베이스가 만들어진 초기 상태에서는 보조색인이 비어 있기 때문에 입력되는 문서들로부터의 포스팅 리스트가 짧아서 보조색인으로 용이하게 삽입될 수 있다. 그러나 새로운 문서들이 축적될수록, 보조색인의 포스팅 리스트들은 그 사이즈가 커지게 되며, 그렇게 커진 포스팅 리스트의 빈번한 재배치로 인해 성능이 점차 저하된다.The direct update method is expected to cause frequent relocation of long posting lists. If each relocation size is reduced to be small enough, the overall update performance can be improved. In order to reduce the size of each relocation, the present invention introduces an on-disk auxiliary index for input documents. Each time a new document arrives, the indexing result is added to the secondary index instead of the primary index. As shown in Fig. 2, the deletion is added to the deletion list, and the modification of the existing document is performed by (deletion + insertion) using the correction list. Since the secondary index is empty in the initial state of the database creation, the posting list from the input documents is short and can be easily inserted into the secondary index. However, as new documents accumulate, the secondary index's posting lists grow in size, and their performance decreases due to frequent rearrangement of such large posting lists.

단독 보조색인 방식에 대한 본 발명에서의 구현에서는, 보조 색인의 데이터 구조가, 사전식 배열(lexicographical order)의 키 스토리지에 대해 B+-tree를 이용하는 주색인과 동일하다. 이는 (PUBDATE >= 20010101 및 PUBDATE <= 20061231)와 같은 범위 연산과, TITLE:(index* AND strateg*)와 같은 우절단(right truncations) 또는 와일드-카드 연산(wild-carding)을 지원하기 위해 불가피한 선택이다. 보조색인이 주색인과 동일한 데이터 구조를 갖기 때문에, 보조색인의 새로운 포스팅 리스트를 업데이트 하는 것은, 새로운 문서들이 많이 쌓이게 되면, 주색인에 비해 더 나빠질 수 있다. 이 시점에서, 단독 보조색인의 전체 포스팅 리스트는, 업데이트 성능을 보장하기 위해, 메인 색인에 병합되어야 하고 비워져야 한다. 본 발명에서는 이러한 벌크 과정을 색인최적화라고 부른다. KRISTAL-IRMS는 이러한 목적을 위해 제자리(in-place) 업데이트 방식을 이용한다[29, 24, 23]. 보조색인을 주색인으로 제자리 업데이트 하는 동안, 질의처리는 정지된다.In the present invention's implementation of the exclusive secondary index scheme, the data structure of the secondary index is the same as the primary index using B + -tree for lexicographical ordering of key storage. This is inevitable to support range operations such as (PUBDATE> = 20010101 and PUBDATE <= 20061231) and right truncations or wild-carding such as TITLE: (index * AND strateg *). It is a choice. Since the secondary index has the same data structure as the primary index, updating the new posting list of the secondary index can be worse than the primary index when a lot of new documents are accumulated. At this point, the entire posting list of the sole subindex must be merged into the main index and empty to ensure update performance. In the present invention, this bulk process is called index optimization. KRISTAL-IRMS uses an in-place update method for this purpose [29, 24, 23]. During the in-place update of the secondary index to the primary index, query processing stops.

본 발명에서의 색인관리 방식들에서 문서의 삭제는 단순히 삭제 리스트에에 추가하는 것이며, 기존문서의 수정은 삭제 + 삽입으로 처리된다 - 삭제의 비용은 무시될 수 있기 때문에 수정은 삽입과 동일한 작업으로 취급할 수 있다. 따라서 본 발명에서는 새로운 문서의 삽입에만 초점을 맞춘다.In the index management schemes in the present invention, the deletion of a document is simply adding to the deletion list, and the modification of the existing document is handled by deletion + insertion-since the cost of deletion can be ignored, the modification is performed in the same operation as the insertion. Can handle Therefore, the present invention focuses only on the insertion of a new document.

도 2는 펄싱 임계값 DF=3을 갖는 펄싱 보조색인을 나타낸 도면으로서, 이해를 돕기 위해, 용어 빈도수를 포함하는 상세한 구조 및 물리적으로 분리된 위치 리스트가 생략되었다. 펄싱 기능을 생략하면 제자리 업데이트가 없는 단독 보조색인과 동일하게 된다.FIG. 2 is a diagram showing a pulsing subindex with a pulsing threshold value DF = 3. For clarity, a detailed structure including a term frequency and a physically separated location list are omitted. Omitting the pulsing function is equivalent to a single subindex without in-place updates.

도 2에 나타낸 펄싱 보조색인은 문서 테이블(Document table), 주색인(Main index), 제자리 업데이트(In-Place Update), 삭제 리스트(Delete list), 수정 리스트(Update list), 보조색인(Auxiliary Index) 등을 포함하고 있다.The pulsing secondary index shown in FIG. 2 includes a document table, a main index, an in-place update, a delete list, an update list, and an auxiliary index. ), And so on.

3.3. 3.3. 펄싱Pulsing 보조 색인( Secondary index ( PulsingPulsing AuxiliaryAuxiliary IndexIndex ) )

보조색인 도입의 이점은 보조색인 자체가 작은 사이즈를 갖는다는데 있다. 그러나 새로운 문서들이 축적될수록 단독 보조색인 또한 장차 입력되는 문서들을 위한 올바른 색인관리를 지원하기 위해 색인최적화가 필요한 시점까지 그 크기가 커지게 되어 있다. 보조색인의 크기가 입력되는 문서들의 처리 전반에 걸쳐서 충분 히 컴팩트하게 유지될 수 있다면, 단독 보조색인 방식의 초기 단계에서와 같이, 색인 업데이트 성능은 크게 악화되지는 않을 것이다.The advantage of introducing an auxiliary index is that the auxiliary index itself has a small size. However, as new documents accumulate, their size increases to the point where index optimization is needed to support correct index management for documents that will be entered as well as future subindexes. If the size of the subindex can be kept compact enough throughout the processing of the input documents, the index update performance will not be significantly degraded, as in the initial stage of the single subindex approach.

직접 업데이트 방식과 단독 보조색인 방식 양쪽 모두에서, 가장 비싼 작업은 긴 포스팅 리스트의 재배치이다. 더욱이, 영어문서에서는 a", "of", 및 the"와 같이 높은 문서 빈도수를 갖는 용어들이 보통 하나의 문서에서 동시적으로 발생하기 때문에, 직접 색인 업데이트 및 단독 보조 방식들은 긴 포스팅 리스트의 재배치보다 빈번하게 발생할 것이다. 펄싱 보조색인 방식은 직접 색인 업데이트와 단독 보조색인 방식의 하이브리드 방식이다. 이 방식에서는, 보조색인에서 동시에 처리하는 긴 포스팅 수를 줄이기 위해, 주어진 임계값보다 긴 모든 보조 포스팅 리스트가 주색인으로 제자리 업데이트 되고 나서(이 과정을 펄싱이라 함), 보조색인에서는 폐기된다. 높은 빈도수를 갖는 용어들은 통상 동시에 발생하기 때문에 긴 포스팅 리스트들을 주색인으로 펄싱하는 것은 트랜젝션들 전체에 걸쳐서 고루 분산되며, 하나의 트랜젝션에서 동시에 발생하는 빈도가 크게 감소한다. 이러한 방식은 Cutting 및 Pedersen[14]에 의한 펄싱 기술과 유사하기 때문에, 그들의 연구를 따라서, 이러한 방식을 펄싱 보조색인라고 명명하였다.In both the direct update method and the exclusive subindex method, the most expensive task is to relocate the long posting list. Moreover, since high document frequency terms such as a "," of ", and the" usually occur simultaneously in one document in English documents, direct index updates and stand alone assist methods are more important than relocation of long posting lists. Will occur frequently. The pulsing subindex is a hybrid of direct index update and single subindex. In this way, to reduce the number of long posts being processed simultaneously in the secondary index, all secondary posting lists longer than the given threshold are updated in place with the primary index (this process is called pulsing) and then discarded in the secondary index. Since terms with high frequency usually occur at the same time, pulsing long posting lists with the main index is evenly distributed throughout the transactions, and the frequency of occurring simultaneously in one transaction is greatly reduced. Since this approach is similar to the pulsing technique by Cutting and Pedersen [14], according to their research, we have named this approach the pulsing secondary index.

예컨대, 긴 포스팅 리스트들에 대한 펄싱 임계값이 문서 빈도수 500이라고 가정하자. 그리고 이미 충분한 문서들이 인덱싱되었으며, 따라서 보조색인에 있는 몇몇 용어들의 포스팅 리스트들은 거의 펄싱 임계값에 도달할 정도까지 커졌다. 예를 들어, 보조색인에서의 문서 빈도수가 a'에 대해서는 497까지, of'는 498까지, 그리고 the'는 499까지 커졌다고 하자. a', 'of', 및 the'를 포함하는 신규문서에 대해서, 상기 펄싱 방법은 a'와 'of'에 대한 보조색인의 포스팅 리스트들을 직접 업데이트한다(현재 문서빈도수가 각각 498과 499로 임계값 599에 도달하지 못했기 때문). 한편 단어 the'의 경우 문서빈도수가 바로 임계값 500에 도달했기 때문에 보조색인의 'the'에 대한 포스팅 리스트를 주색인의 포스팅 리스트로 제자리 업데이트한 후, 보조 색인의 ‘the'에 대한 포스팅 리스트는 비운다. 이는 높은 문서빈도수를 갖는 용어들의 처리가 주색인으로 제자리 업데이트할 오버헤드를 가지지만 보조색인의 각 포스팅 리스트가 임계값보다 작게 유지되도록 제한된다는 것을 의미한다. 또한, 높은 빈도수 용어들은 하나의 문서에서 정확히 동시에 발생하지 않기 때문에, 주색인으로의 제자리 업데이트는 새로운 문서들의 삽입 작업 전체에 걸쳐서 고루 분산된다.For example, suppose the pulsing threshold for long posting lists is document frequency 500. And enough documents have already been indexed, so the posting lists of some of the terms in the secondary index are large enough to reach the pulsing threshold. For example, suppose the document frequency in the secondary index increases to 497 for a ', to of 498, and the' to 499. For new documents containing a ',' of ', and the', the pulsing method directly updates the posting lists of subindexes for a 'and' of '(current document frequency is 498 and 499, respectively). Because the value 599 has not been reached). In the case of the word 'the', the document frequency has reached the threshold of 500, so after updating the post list of 'the' of the secondary index to the main index's posting list, the posting list of 'the' of the secondary index is Empty This means that processing of terms with high document frequency has overhead to update in place as the primary index, but each posting list of secondary indexes is limited to remain below the threshold. In addition, since high frequency terms do not occur exactly at the same time in one document, in-place updates to the main index are evenly distributed throughout the insertion of new documents.

주어진 임계값보다 긴 모든 보조 포스팅 리스트가 메인색인으로 업데이트되기 때문에, 펄싱 보조색인의 크기는 삽입되는 문서 수에 상관없이 거의 일정할 것이다. 임계값보다 긴 포스팅 리스트가 없으며, 하나의 문서에 있는 모든 독특한 용어들에 대한 포스팅 리스트들의 업데이트는, 직접 업데이트 및 단독 보조색인 방식들에 비해 훨씬 작아지게 된다. 따라서 하나의 문서삽입 작업은 수많은 단어들에 대한 작업을 처리해야 하지만, 직접 업데이트 또는 단독 보조색인에 비해, 작은 포스팅 리스트들의 업데이트로 구성된다.Since all secondary posting lists longer than the given threshold are updated with the main index, the size of the pulsing secondary index will be almost constant regardless of the number of documents inserted. There is no posting list longer than the threshold, and the updating of the posting lists for all unique terms in a document becomes much smaller than the direct updates and the sole subindex schemes. Thus, a single document insertion task must handle a large number of words, but consists of updating small posting lists, compared to direct updates or a single subindex.

4. 실험(4. Experiment ( ExperimentsExperiments ))

실험에 사용한 장비는 듀얼 펜티엄 제온 3GHz CPU, 8GB의 메모리, RAID-5 SCSI 저장장치를 장착한 리눅스 장비이다. 실험은 디스크, 메모리, 또는 CPU를 과하게 이용하는 다른 프로세스가 없이, 즉, 부하가 거의 없는 상태에서 수행되었다.The equipment used in this experiment was a Linux machine with a dual Pentium Xeon 3GHz CPU, 8GB of memory and RAID-5 SCSI storage. Experiments were performed without disks, memory, or other processes that were over-using the CPU, i.e. with little load.

실험에 사용한 데이터는 학술지의 서지정보로 100만 개의 서지정보로부터 문서 수에 따라 3종류의 문서집합을 마련하였으며, 추가로 1만개의 서지정보를 문서삽입시험을 위한 테스트 집합으로 준비하였다(도 3). 문서 수에 따라 1만개의 서지정보를 갖는 10K-SET(12MB), 10만개의 100K-SET(121MB), 백만개의 1M-SET(1,310MB)라고 명명한다. 각 문서집합은 미리 벌크 적재를 통해 데이터베이스를 구축하였다. 이 상태에서 테스트 집합의 1만개의 문서를 온라인으로 삽입하는 실험을 수행하였다. (100K-SET 및 1M-SET에 대한 직접 업데이트 실험은 과중한 시간 제약으로 인해 생략되었다). 문서집합에 따라 문서의 수가 다른 것은 문서의 수에 따라 본 발명에서 실험한 3개 색인관리방식의 비용을 조사하기 위해 선택되었다. 10K, 100K, 및 1M 데이터집합에 있는 모든 용어에 대한 전체 위치 정보를 포함하는 마지막 색인들의 사이즈는 각각 29MB, 246MB 및 2,373MB이었다. 펄싱 보조색인 방식에서의 펄싱임계값은 문서 빈도수 500을 정하였다.The data used in the experiment was bibliographic information of the journal, and three kinds of document sets were prepared according to the number of documents from 1 million bibliographic information, and 10,000 additional bibliographic information was prepared as a test set for the insertion test (Fig. 3). ). According to the number of documents, 10K-SET (12MB) with 10,000 citations, 100,000 100K-SET (121MB), and 1 million 1M-SET (1,310MB). Each document set was previously built with bulk loading. In this state, an experiment was performed to insert 10,000 documents of the test set online. (Direct update experiments for 100K-SET and 1M-SET were omitted due to heavy time constraints). The number of documents differing according to the document set was selected to investigate the cost of the three index management methods tested in the present invention according to the number of documents. The final indexes, including global location information for all terms in the 10K, 100K, and 1M datasets, were 29 MB, 246 MB, and 2,373 MB, respectively. The pulsing threshold in the pulsing auxiliary index method was set to a document frequency of 500.

도 3은 반정형 샘플 데이터를 나타낸 도면이다.3 shows semi-structured sample data.

도 3은 1,296번째 서지사항으로, @DOCUMENT(record delimiter), TITLE, AUTHOR, JOURNAL, VOLUME, NUMBER, PAGE START, PAGE END, PUBDATE(발행일자), ABSTRACT 및 KEYWORDS으로 구성된다. 표 1은 문서집합의 모든 섹션에 대해서 평균 용어 횟수를 보여준다(하나의 섹션은 데이터베이스 세계에서 필드 또는 컬럼과 동의어이다). 역파일에서 용어들의 사전적 순서를 유지하기 위해, 어휘 데이터 구조 와 포스팅 리스트를 서로 분리하는 것이 일반적이다. KRISTAL-IRMS에서는 이와 더불어 각 포스팅 리스트는 빈도수/문서식별자 정보와 문서내의 정확한 위치정보를 물리적으로 추가 분리하였다. FIG. 3 is the first and second bibliography, consisting of @DOCUMENT (record delimiter), TITLE, AUTHOR, JOURNAL, VOLUME, NUMBER, PAGE START, PAGE END, PUBDATE (issue date), ABSTRACT and KEYWORDS. Table 1 shows the average term count for all sections of a document set (one section is synonymous with a field or column in the database world). To keep the dictionary order of terms in the inverted file, it is common to separate the lexical data structure and the posting list from each other. At KRISTAL-IRMS, each posting list physically separates the frequency / document identifier information and the exact location information within the document.

표 1을 참조하면, 하나의 문서가 1백 개 이상의 중복되지 않는 고유한 용어를 포함하는 것을 알 수 있다. 이는 KRISTAL이 입력 문서의 각 단어에 대하여 3개의 데이터 구조-어휘 리스트, 포스팅 리스트, 및 위치 리스트-에 접근하여야 하기 때문에 문서 하나를 추가하는 경우 온-디스크 색인에 300회 이상 접근하여야 한다는 것을 의미한다.Referring to Table 1, it can be seen that one document contains more than one hundred non-overlapping unique terms. This means that KRISTAL has access to three data structures for each word in the input document—a vocabulary list, a posting list, and a location list—so that adding one document requires access to the on-disk index more than 300 times. .

다음의 표 1은 간략한 데이터베이스 개요 및 문서 당 색인 용어의 통계를 나타낸 것이다.Table 1 below shows a brief database overview and statistics of index terms per document.

Figure 112007080150083-pat00001
Figure 112007080150083-pat00001

표 1에서 보인 바와 같이, KRISTAL-IRMS는 가변문자열(var_char와 동의어이지만 2GB의 길이제한을 가짐; 통상, DB는 4K 한계를 가짐; KRISTAL에서는 KSTRING으로 표기), 고정문자열((KCHAR[]), 정수(KINT), 및 유동소수점(KFLOAT)과 같은 데이터 유형을 지원하며, 그 색인 유형은 INDEX_AS_IS (섹션값 전체를 하나의 문자열로 색인), INDEX_NUMERIC(유동소수점으로 색인), INDEX_BY_CHAR (낱자 색인), INDEX_BY_TOKEN (어절단위 색인), 한국 및 중국 문자를 위한 여러 개의 인덱싱 유형들 및 DNA와 단백질과 같은 생물학적 서열과 관련된 몇몇 다른 유형들 중의 하나를 선택할 수 있다.As shown in Table 1, KRISTAL-IRMS is a variable string (synonymous with var_char but has a 2GB length limit; typically, the DB has a 4K limit; KRISTAL denotes KSTRING), a fixed string ((KCHAR []), It supports data types such as Integer (KINT), and Floating Point (KFLOAT), and its index types are INDEX_AS_IS (index the entire section value as a string), INDEX_NUMERIC (index to floating point), INDEX_BY_CHAR (single index), You can choose between INDEX_BY_TOKEN (word index), several indexing types for Korean and Chinese characters, and several other types related to biological sequences such as DNA and proteins.

보조색인 방식에서는, 하나의 단어에 대한 포스팅리스트는 주색인과 보조색인에 분산되어 저장되어 비연속적이기 때문에, 연속적인 포스팅 리스트들에 비해 포스팅 액세스 속도가 저하될 수 있다. 질의처리와 보조방식들의 색인관리간의 트레이드-오프를 테스트하기 위해, 1M-SET에서 다른 문서빈도수 범위를 갖는 3개 단어 집합 - (100 <= DF < 1,000)을 갖는 27,920개 용어, (1,000 <= DF < 10,000)를 갖는 7,071개 용어, 및 (DF >= 10,000)을 추출하였다. 이 단어들을 TITLE, ABSTRACT 및 KEYWORDS 섹션들을 대상으로 검색하는 KRISTAL 질의를 만들었다 - (TITLE : term) OR (ABSTRACT : term) OR (KEYWORDS : term). 질의 평가와 보조 색인들의 비연속 포스팅 리스트들 간의 트레이드오프를 평가하기 위해, 색인이 재구축 방법(rebuild method)[23]에 의해 구축되었던 1M+10,000 문서 데이터베이스, 단독 보조 색인을 이용하여 인덱싱된 10,000개의 추가적인 문서를 가지는 1M 데이터베이스, 및 펄싱 보조 방식을 이용하여 인덱싱된 1M에 대하여, 불리안 모델(BOOLEAN MODEL)에서 이들 질의를 처리하는 시간을 비교하였다.In the sub-index method, since the posting list for one word is distributed and stored in the main index and the sub-index, the posting access speed may be lowered compared to the continuous posting lists. To test the trade-off between query processing and index management of auxiliary methods, a set of three words with different document frequency ranges in 1M-SET-27,920 terms with (100 <= DF <1,000), (1,000 <= 7,071 terms with DF <10,000), and (DF> = 10,000) were extracted. We created a KRISTAL query that searches these words for the TITLE, ABSTRACT, and KEYWORDS sections-(TITLE: term) OR (ABSTRACT: term) OR (KEYWORDS: term). To evaluate the tradeoff between query evaluation and discontinuous posting lists of secondary indexes, a 1M + 10,000 document database in which the index was built by the rebuild method [23], 10,000 indexed using a single secondary index. For a 1M database with two additional documents, and 1M indexed using the pulsing assist method, the time to process these queries in the BOOLEAN MODEL was compared.

마지막으로, 10K-, 100K- 및 1M-SET에 대하여, 서지 검색 서비스(YesKISTI : http://www.yeskisti.net)에서 현재 주제 질의들로서 이용되는 2,994 복합 질의를 평가하였다. 이 복합질의들은 전문가들이 구성한 것으로 그 식이 매우 복잡하다. 이들 복합 질의들에 대한 검색대상섹션은 앞선 실험과 동일하게 (TITLE : 복합 질의) OR (ABSTRACT : 복합 질의) OR (KEYWORDS : 복합 질의)와 같은 방식으로 구성하였다. 상기 2,994 복합 질의에 대한 몇가지 예는 다음과 같다.Finally, for 10K-, 100K- and 1M-SET, we evaluated 2,994 complex queries currently used as subject queries in the bibliographic search service (YesKISTI: http://www.yeskisti.net). These complex queries are composed by experts and the formula is very complicated. The search target section for these complex queries was constructed in the same way as the previous experiment (TITLE: compound query) OR (ABSTRACT: compound query) OR (KEYWORDS: compound query). Some examples of the 2,994 compound query are as follows.

yellow* /N8 (polyurethane* OR urethane*)yellow * / N8 (polyurethane * OR urethane *)

silicon AND (optic* /N8 signal*) AND module*silicon AND (optic * / N8 signal *) AND module *

food* /N3 (wastewater* OR (waste /W1 water*)) AND treat*food * / N3 (wastewater * OR (waste / W1 water *)) AND treat *

ceramic* AND (bulletproof* OR (bullet /W1 proof*) OR (bullet /W1 resist*) OR (bullet* /N2 (protect* OR resist*)))ceramic * AND (bulletproof * OR (bullet / W1 proof *) OR (bullet / W1 resist *) OR (bullet * / N2 (protect * OR resist *)))

wood* /N5 (substitut* OR replacement*)wood * / N5 (substitut * OR replacement *)

(catalyst* OR catalyzer*) /N5 (regenerat* OR ((precious OR valu* OR noble*) /N2 metal* /N5 recover*))(catalyst * OR catalyzer *) / N5 (regenerat * OR ((precious OR valu * OR noble *) / N2 metal * / N5 recover *))

각 복합질의는 AND, OR 등의 불리안 연산자와 더불어 근접도 연산(NEAR와 WITHIN 연산-각각 /Nn 및 /Wn 의 형태)이 빈번하게 사용하기 때문에, 포스팅 리스트들과 위치 리스트들 양쪽 모두에 대한 접근 성능을 평가하는데 유용하다(KRISTAL은 위치 리스트들을 포스팅 리스트들로부터 분리한다). 더욱이, 빈번한 우절단연산으로부터 어휘구조체에 대한 접근효율성도 복합질의 평가에서 반영될 것이다. 복합 질의는 재구축(Rebuild), 단독 보조색인 및 펄싱 보조색인 방식들을 이용하여 삽입된 추가적인 10,000개 문서를 갖는 10K, 100K 및 1M 데이터베이스를 대상으로 질의처리 성능 평가에 사용되었다.Because each compound query is frequently used by proximity operations (NEAR and WITHIN operations—in the form of / N n and / W n , respectively) with Boolean operators such as AND and OR, both posting lists and location lists This is useful for evaluating the access performance for a file (KRISTAL separates the location lists from the posting lists). Moreover, access efficiency to lexical structures from frequent right cut operations will also be reflected in the evaluation of composites. Compound queries were used to evaluate query processing performance against 10K, 100K, and 1M databases with an additional 10,000 documents inserted using the Rebuild, Single Secondary, and Pulsed Secondary indexing schemes.

5. 결과5. Results

3개 색인 업데이트 방식에 대한 결과들이 도 4, 5 및 6에 도시되었다. 도면들에서의 각 점은, 문서 길이들에서의 바이어스(bias)들의 효과를 줄이기 위해, 10개 삽입마다의 삽입 시간을 평균함으로써 얻어졌다. 모든 실험들이 실험장비가 가벼운 부하 상태에 있을 때, 즉 다른 중요한 작업들이 디스크, 메모리, 또는 CPU들에 접근하지 않는 동안 수행되었다.Results for the three index update schemes are shown in FIGS. 4, 5, and 6. Each point in the figures was obtained by averaging insertion times every ten insertions, in order to reduce the effect of biases in document lengths. All experiments were performed when the equipment was under light load, that is, while other important tasks were not accessing disks, memory, or CPUs.

도 4는 10K 세트에 대한 10,000개의 입력 문서 중에 매 10개에 대하여 평균된 삽입 시간을 나타낸 도면으로서, 10,000개 문서를 10K 데이터베이스에 입력한 결과를 나타낸 것이다. 4 shows the insertion time averaged for every 10 out of 10,000 input documents for a 10K set, showing the results of entering 10,000 documents into a 10K database.

여기서, 1만개의 문서는 실험 전에 미리 벌크적재(bulkload) 모드에서 인덱싱한 상태이다. 섹션 3.1에서 언급한 바와 같이, 도 4는 새로운 문서들의 색인 정보를 주색인에 직접 업데이트 하는 것이 보조색인 방식들에 비해 매우 열악하다는 것을 보여준다(10,000개에 평균하면, 직접 색인 업데이트, 단독 보조색인 및 펄싱 보조색인 방식은 각각 문서당 12.0, 4.37 및 1.97 초의 프로세싱 속도를 나타낸다). 이는 주색인의 직접 업데이트 방식이 소용량 텍스트 데이터베이스들에서 조차도 적합하지 못하다는 것을 의미한다. Here, 10,000 documents have been indexed in bulkload mode before the experiment. As mentioned in section 3.1, Figure 4 shows that updating the index information of new documents directly to the primary index is very poor compared to the secondary index schemes (averaging 10,000, direct index update, sole secondary index and The pulsing subindex scheme represents processing speeds of 12.0, 4.37 and 1.97 seconds per document, respectively). This means that the direct update method of the main index is not suitable even in small text databases.

한편, 단독 보조색인은 업데이트 효율을 개선할 수 있지만, 문서가 삽입될수록 점점 느려진다. 짧은 포스팅 리스트들에 대해서는 단독 보조색인 그리고 긴 포스팅 리스트들에 대해서는 직접 업데이트를 적용하는 하이브리드 방식인 펄싱 보조색인은 단독 보조색인보다 훨씬 나은 성능을 보여준다. 더욱이, 이 방식은 많은 삽입이 행해지더라도 거의 안정적인 성능을 보여준다. 따라서 색인 최적화(보조 포스팅 리스트들을 주색인으로 벌크-모드 제자리 업데이트하는 작업)가 단독 보조색인에는 필수적이지만, 펄싱 보조색인에는 반드시 필요한 것은 아니다.On the other hand, a single secondary index can improve the update efficiency, but slower as the document is inserted. The pulsing subindex, a hybrid method that applies a single subindex for short posting lists and direct updates for long posting lists, performs much better than a single subindex. Moreover, this approach shows almost stable performance even with many insertions. Thus, while index optimization (the bulk-mode in-place update of secondary posting lists to the primary index) is necessary for a single secondary index, it is not necessary for a pulsing secondary index.

입력되는 문서들이 축적될수록, 보조색인의 포스트 리스트들이 길어지게 된다. 단독 보조색인에 대해서는 포스트 리스트의 길이에 대한 제약이 없다. 반면, 펄싱 보조색인의 모든 포스팅 리스트는 펄싱 임계값의 길이를 초과하지 않는다. 주색인으로 펄싱되는 포스팅 리스트들을 제외하면, 펄싱 보조색인에서 처리할 모든 포스팅 리스트는 단독 보조색인의 포스팅리스트보다는 길이가 짧거나 같다. 예를 들어, 단어 the'가 모든 입력문서에서 발생한다고 가정하고, 펄싱 임계값이 문서빈도수 500이라고 가정한다. 10,137번째 신규 문서에 대해서, 단독 보조에서의 용어 the'의 포스팅 리스트는 포스팅 데이터 구조체의 10,137배인 반면, 펄싱 보조색인에서는 단지 137배이다. 동일한 문서가 반복적으로 n 번 입력되는 최악의 상황에서는, 단독 보조색인에서 처리할 총 포스팅 리스트의 길이가 펄싱 보조색인의 그것 보다 커지게 되는데(적어도 n/펄싱임계값의 배수), 이는 도 4의 성능 차이를 가져온다.As the input documents accumulate, the post lists of the sub-index become longer. There is no restriction on the length of the post list for a single secondary index. On the other hand, all posting lists of the pulsing subindex do not exceed the length of the pulsing threshold. Except for post lists that are pulsed by the primary index, all posting lists to be processed by the pulsing secondary index are shorter or equal in length than the posting lists of the sole secondary index. For example, suppose the word the 'occurs in all input documents, and the pulsing threshold is document frequency 500. For the 10,137th new document, the term the 'posting list in a single aid is 10,137 times the posting data structure, whereas only 137 times in the pulsing auxiliary index. In the worst case where the same document is entered repeatedly n times, the length of the total posting list to be processed in the single subindex becomes larger than that of the pulsing subindex (at least a multiple of n / pulsing threshold), which is shown in FIG. It makes a difference in performance.

도 5는 100K 세트에 대한 10,000개 입력 문서 중에 매 10개에 대해 평균된 삽입 시간을 나타낸 도면으로서, 시간제약으로 직접 업데이트 테스트는 생략되었다.FIG. 5 shows the insertion time averaged for every 10 of 10,000 input documents for a 100K set, with the time-limited direct update test omitted.

도 5에서는, 동일한 조건이지만, 문서당 3분 이상인 과중한 시간 제약으로 인해 직접 업데이트 방식 실험을 생략하고 100K-SET를 대상으로 실험을 수행하였다. 100K 데이터베이스에 대한 10,000개 삽입 트랜젝션에 대해 문서당 삽입시간을 평균하면, 단독 및 펄싱 보조색인 방식은 각각 문서당 4.62와 2.26초의 처리속도를 나타낸다. 100K-SET에 대한 이 실험에서, 단독 및 펄싱 보조색인 방식은 10K-SET에 대한 실험결과와 매우 유사하다(도 4). In FIG. 5, the experiment was performed on 100K-SET without the direct update method experiment due to heavy time constraints of 3 minutes or more per document under the same conditions. Averaging insertion times per document for 10,000 insert transactions for a 100K database, the isolated and pulsing subindex schemes yield throughputs of 4.62 and 2.26 seconds per document, respectively. In this experiment for 100K-SET, the single and pulsing auxiliary index approach is very similar to the experimental results for 10K-SET (FIG. 4).

도 5에서, 새로운 문서들의 추가가 축적될수록 단독 보조색인 방식의 성능이 저하되었고, 반면에 펄싱 보조색인 방법은 안정된 경향을 보였지만 도4에서 관찰되지 않았던 빈번한 편향점(Bias points)을 보여준다. 이러한 편향점들을 제외하고, 펄싱 방법은 단독 방법보다 우수하며, 그 성능은 새로운 문서들의 삽입 수와는 상관없이 안정적이다.In FIG. 5, as the addition of new documents accumulates, the performance of the single secondary index method is degraded, while the pulsing secondary index method shows a stable bias point that tended to be stable but was not observed in FIG. Apart from these biases, the pulsing method is superior to the single method, and its performance is stable regardless of the number of inserts of new documents.

도 6은 1M 세트에 대한 10,000개 입력 문서 중에 매 10개에 대해 평균된 삽입 시간을 나타낸 도면으로서, 시간제약으로 직접 업데이트 테스트는 생략되었다.FIG. 6 shows the insertion time averaged for every 10 of 10,000 input documents for the 1M set, with the time-limited direct update test omitted.

도 6은 1M 데이터 세트에 관한 결과를 나타낸다. 1M 데이터베이스에 대한 10,000 개 삽입 트랜잭션을 평균하면, 단독 보조색인과 펄싱 보조색인은 각각 문서당 4.71과 4.38 초의 삽입 속도를 보인다. 본 발명에서 100K 데이터 세트에 대한 펄싱 방법의 성능 바이어스를 관찰한 바와 같이(도 5), 1M 데이터베이스에 대한 처리시간 플롯에서 펄싱 방법의 훨씬 더 넓은 성능 바이어스가 관찰된다(도 6). 펄싱 방법에서는, 일단 용어의 문서 빈도수가 펄싱 임계값에 도달하고 나면, 이 용어의 포스팅 리스트를 주색인의 해당 포스팅 리스트에 추가한다. 그러나 1M의 주색인 크기가 10K의 100배이고, 100K의 10배이다. 일반적으로, 이는 포스팅 리스트가 평균적으로 100배 또는 10배 길다는 것을 의미한다. 주색인의 포스팅 리스트는 수십 내지 수백 메가바이트에 도달할 수 있다. 보조 포스팅 리스트를 주색인으로 펄싱하는 것은 분명히 메인 색인의 해당 포스팅리스트에 대한 재배치 작업을 발생시킬 것이다. 1M-SET에서와 같이 주색인의 크기가 매우 커지게 되면 펄싱 작업의 단위가 매우 커지게 되어 재배치 뿐만 아니라 로깅에 많은 시간을 요한다. 그러므로 메인 색인가 커질수록 더 큰 바이어스들이 관찰되는 데 이는 빈도가 높은 단어들에 대한 포스팅리스트의 주색인으로의 펄싱에 기인하는 것이다.6 shows the results for the 1M data set. When averaging 10,000 insert transactions for a 1M database, the sole and pulsing secondary indexes show insertion rates of 4.71 and 4.38 seconds per document, respectively. As we observed the performance bias of the pulsing method for the 100K data set in this invention (FIG. 5), a much wider performance bias of the pulsing method is observed in the processing time plot for the 1M database (FIG. 6). In the pulsing method, once the term's document frequency reaches the pulsing threshold, the posting list of the term is added to the corresponding posting list of the main index. However, the main index of 1M is 100 times 10K and 10 times 100K. In general, this means that posting lists are on average 100 or 10 times longer. The main index's posting list can range from tens to hundreds of megabytes. Pulsing the secondary posting list by the primary index will obviously cause a relocation of that posting list in the main index. As in 1M-SET, when the main index becomes very large, the unit of pulsing operation becomes very large, and it takes a lot of time for logging as well as relocation. Therefore, larger biases are observed as the main index grows, which is due to the pulsing of the posting list's main index for high frequency words.

도 7은 단독 보조색인과 펄싱 보조색인을 이용하여 10K, 100K, 및 1M 세트에 대해 10,000개의 새로운 문서를 업데이트하기 위한 문서당 평균 삽입 시간을 비교한 도면이다.FIG. 7 is a comparison of average insertion time per document for updating 10,000 new documents for 10K, 100K, and 1M sets using a single subindex and a pulsing subindex.

도 4, 5, 및 6에 도시된 실험 결과들을 도 7에서 다시 요약하였다. 3개 데이터 세트 모두에 대하여, 펄싱 보조색인방식의 성능이 단독 보조색인 방식을 능가한다. 단독 보조색인에서의 평균 성능은 메인색인 크기와는 상관없이 거의 일정하다 - 이는 단독 보조색인이 메인색인과는 독립적이기 때문이다: 한편 그 성능이 펄싱으로 인해 주색인의 크기와 연관이 있는 펄싱방식은 메인색인 크기가 커질수록 저하된다. 따라서 불행하게도, 1M-SET보다 더 큰 문서 테이블에 대해서는 펄싱 보조색인의 성능이 단독 보조색인 보다 나쁠 것이다(이러한 상황은 문서 수집물이 1백만 문서보다 작도록 테이블을 여러 테이블로 분할한다면 회피할 수 있다).The experimental results shown in FIGS. 4, 5, and 6 are summarized again in FIG. 7. For all three data sets, the performance of the pulsing subindex method outperforms the single subindex method. The average performance on a single subindex is almost constant regardless of the main index size-since the single subindex is independent of the main index: while the pulsing method is associated with the size of the main index due to pulsing. Decreases as the main index increases in size. Therefore, unfortunately, the performance of the pulsing sub-index will be worse than the single sub-index for document tables larger than 1M-SET (this situation can be avoided if you split the table into multiple tables so that the document collection is smaller than 1 million documents). have).

도 8은 1M 세트에 10,000개의 새로운 문서를 추가한 후에, 가변 DF 범위를 갖는 용어들의 평균 질의처리 시간을 나타낸 도면이고, 도 9는 10K, 100K, 및 1M 세트에 10,000개의 새로운 문서를 추가한 후에, 복합 질의들에 대한 평균 질의처리 시간을 나타낸 도면이다.8 shows the average query processing time of terms with variable DF range after adding 10,000 new documents to 1M set, and FIG. 9 after adding 10,000 new documents to 10K, 100K, and 1M set. , Which shows the average query processing time for complex queries.

도 8은 재구축(베이스 라인), 펄싱 보조색인, 단독 보조방식으로서 구축된 데이터베이스를 대상으로 저 빈도수 용어들(100<= DF <1000), 중간 빈도수 용어들(1000 <= DF < 10,000), 및 고 빈도수 용어들(DF >=10,000)의 포스팅 접근패턴들을 나타낸다. 모든 경우에 대해, 단독 보조색인 방식은 재구축된 데이터베이스에 비해 상당히 성능이 낮고, 반면 펄싱 방식은 재구축된 데이터베이스에 근접한다(단독 보조 방식은 재구축 보다 2.6-3.7 배 더 느리지만, 펄싱 보조 방식의 포스팅 접근성능은 재구축 DB에 비해 단지 23%만 저하된다).FIG. 8 shows low frequency terms (100 <= DF <1000), medium frequency terms (1000 <= DF <10,000), for a database constructed as a reconstruction (baseline), pulsing auxiliary index, standalone auxiliary method. And posting approach patterns of high frequency terms (DF> = 10,000). In all cases, the sole secondary index approach is significantly lower than the rebuilt database, while the pulsing approach is close to the rebuilt database (the monolithic approach is 2.6-3.7 times slower than the rebuild database, but the pulsing aid is Posting access performance is only 23% lower than the rebuild DB).

포스팅 리스트의 비연속적인 속성을 갖는 보조색인 방식에서와 같이, 색인 관리 방식들은 불가피하게 색인 관리 성능과 질의처리 성능 간의 트레이드오프를 포함한다. 도 8은 트레이드오프가 단독 보조색인방식에서는 상당할 수 있지만 펄싱 보조색인에서는 그렇지 않을 수 있다는 것을 보여준다. 이는 다시 도 9에 도시된 복합 질의들을 평가하는 실험에서 입증된다. 1M 데이터베이스에 대해, 단독 및 펄싱 보조 색인 방식의 질의 프로세싱 성능은 재구축 방식의 56%와 81%이다. 포스팅 리스트가 연속적이도록 하면 포스팅 리스트를 가져오는데 필요한 디스크 접근의 수를 최소화하고 그럼으로써 질의처리 성능을 최대화할 수 있다. 재구축 방식은 이러한 상황을 보장한다. 그러나, 단독 및 펄싱 보조색인 방식들에서는 포스팅 리스트들이 메인색인과 보조색인의 2개 부분으로 분리되며, 재구축 방식보다 더 많은 디스크 접근이 요구되며, 이는 저하된 질의처리 성능을 초래한다(도 9). 그러나, 포스팅을 작게 유지하하는 펄싱 보조색인 방식은 질의처리에서 단지 19%의 오버헤드를 갖는 반면 단독보조색인은 44%의 오버헤드를 발생한다.As with the secondary index approach with discontinuous attributes of the posting list, index management schemes inevitably include a tradeoff between index management performance and query processing performance. 8 shows that the tradeoff may be significant in a single secondary index but not in a pulsing secondary index. This is again demonstrated in the experiment evaluating the complex queries shown in FIG. For 1M databases, the query processing performance of the standalone and pulsing secondary indexes is 56% and 81% of the rebuild. By making the posting list contiguous, you minimize the number of disk accesses required to get the posting list, thereby maximizing query processing performance. The rebuild guarantees this situation. However, in the standalone and pulsing subindex schemes, the posting lists are divided into two parts, the main index and the subindex, and require more disk access than the rebuild scheme, which results in poor query processing performance (FIG. 9). ). However, the pulsing secondary index method of keeping the posting small has only 19% overhead in query processing, while the sole secondary index generates 44% overhead.

6. 결론 및 향후 연구(6. Conclusion and future research ConclusionConclusion andand FutureFuture WorkWork ))

본 발명에서는 동적 색인관리를 위한 몇 개의 문서단위 트랜잭션을 지원하는 색인관리 방식의 평가를 제공하였다. 본 발명에서의 실험평가는 펄싱 보조색인 방식이 실제 DB-IR 통합에서 텍스트 색인구성을 위한 경쟁력있는 후보가 될 수 있다는 것을 보여준다. 반면 펄싱방식은 바이어스된 색인관리 시간 및 약간 저하된 질의처리 성능의 단점을 나타내기도 한다. 현재까지의 연구결과에서는 펄싱 보조색인의 색인관리 효율은 문서뭉치 단위 색인관리 방식들에 비해 여전히 불만족스럽다. 신규 문서들의 색인정보를 메모리에 유지하는 뭉치단위 접근방식에서는 문서당 0.1초 정도의 관리속도를 보여주는 반면 펄싱 방식에서는 1백만 문서집합에 대해 평균적으로 문서당 4.4초의 최고 속도를 나타낸다.The present invention provides an evaluation of an index management method that supports several document unit transactions for dynamic index management. Experimental evaluation in the present invention shows that the pulsing secondary index method can be a competitive candidate for text indexing in actual DB-IR integration. On the other hand, the pulsing method also exhibits the disadvantages of biased index management time and slightly degraded query processing performance. To date, research has shown that the indexing efficiency of pulsing subindexes is still unsatisfactory compared to the document-level indexing schemes. The batch-based approach of keeping indexes of new documents in memory shows a management speed of 0.1 seconds per document, while the pulsing method averages 4.4 seconds per document on average for 1 million document sets.

제자리 업데이트 및 보조 색인의 펄싱 보조색인 방법이 갖는 중요한 문제는 긴 포스팅 리스트들에 대한 비싼 재배치이다. 정보 검색[9]에서 긴 포스팅 리스트의 재배치를 회피하도록 설계된 이전 연구에서와 같이, 이런 고가의 작업을 회피할 수 있다면, 트랜잭셔널 색인 관리의 성능 또한 상당히 개선될 수 있다. 이러한 작업의 일환으로 보조색인에 대하여 과할당 방식을 도입하는 것이 유용할 수 있다. 색인압축 알고리즘[31, 2]은 포스팅 리스트들의 길이를 축소시킴으로써 상기 성능을 더 향상시킬 수도 있을 것이다.An important issue with the pulsing secondary index method of in-place update and secondary indexes is the expensive relocation of long posting lists. As with previous studies designed to avoid the relocation of long posting lists in information retrieval [9], the performance of transactional index management can be significantly improved if this expensive operation can be avoided. As part of this work, it may be useful to introduce over-allocation schemes for secondary indexes. The index compression algorithm [31, 2] may further improve this performance by reducing the length of the posting lists.

KRISTAL-IRMS가 IR이라는 다른 방향으로부터 발전되어 왔지만, KRISTAL 시스템 구성에서의 디자인 원리의 많은 부분들이 [11, 10]에서 주장된 DB-IR 통합에서 RISC-스타일 기능을 갖는 스토리지-레벨 코어 시스템과 DB-IR 통합의 관점이 일치한다. 저장엔진으로서 버클리 DB를 채용하는 KRISTAL-IRMS은, 완전한 동시제어 및 복구와 스토리지-수준의 싱글-테이블 질의들을 지원한다. KRISTAL은 IRMS(IRS의 진화된 형태-도 1 참조)를 목표로 하며, 그것은 다양한 구조 데이터 유형들과 더불어 추가적으로 스토리지 레벨에서 텍스트 데이터 유형을 지원한다. KRISTAL의 질의 계층은 스토리지-레벨 싱글 테이블 질의들을 멀티-테이블로 확장하는 스토리지 계층 상에 구현된다. 질의계층에서, KRISTAL은 정렬된 질의 평가, 구조 질의 평가, 분류 및 효율적인 XML 검색을 지원하는 반면, SQL형 질의 언어, 테이블 조인, 형성 뷰, 구조화 데이터 값들의 랭킹, 트리거 및 질의 최적화와 같은 몇 가지 DB 특성은 여전히 해결되어야 할 문제로 남아 있다.Although KRISTAL-IRMS has evolved from the other direction of IR, many of the design principles in KRISTAL system construction are based on DB-IR storage-level core systems and DBs with RISC-style functionality in the DB-IR integration claimed in [11, 10]. The view of IR integration is in agreement. KRISTAL-IRMS, which employs Berkeley DB as a storage engine, supports full concurrent control and recovery, and storage-level single-table queries. KRISTAL targets IRMS (an evolutionary form of IRS-see Figure 1), which supports text data types at the storage level in addition to the various structural data types. KRISTAL's query hierarchy is implemented on a storage hierarchy that extends storage-level single table queries into multi-tables. In the query hierarchy, KRISTAL supports sorted query evaluation, structured query evaluation, classification, and efficient XML retrieval, while several types such as SQL type query language, table joins, formation views, ranking of structured data values, triggers, and query optimization DB characteristics still remain a problem to be solved.

오늘날 우리는 모든 시스템에 대한 모든 디자인 가정들이 재평가되는 극심한 변화의 시대 속에 살고 있다. 정보검색 및 데이터베이스 연구자들은 오랫동안 서로 멀리하였고, 그럼으로써 IR과 DB라는 별도의 고착화된 세계에서 별거중이었다. 그러나 고객들은 IR에서의 테이블 조인 및 트리거를 원하고 DB에서는 비구조 텍스트 처리 및 정렬된 질의 평가를 요청하기 시작했다.Today we live in a time of extreme change where all design assumptions for all systems are reevaluated. Information retrieval and database researchers have long distanced each other, thereby separating them from separate, fixed worlds, IR and DB. However, customers want table joins and triggers at IR, and DB has begun requesting unstructured text processing and sorted query evaluation.

실시 예Example

도 10 및 도 11은 본 발명의 바람직한 실시 예에 의한 정보검색 시스템의 구성도이다.10 and 11 are configuration diagrams of an information retrieval system according to a preferred embodiment of the present invention.

본 발명에 의한 정보검색시스템은 도시된 바와 같이, 보조색인저장기(10), 주색인저장기(20), 색인펄싱(pulsing)장치(30), 정보검색기(40)를 포함하여 구성한다.As shown, the information retrieval system according to the present invention includes an auxiliary index storage unit 10, a main index storage unit 20, an index pulsing device 30, and an information retrieval unit 40. As shown in FIG.

상기 보조색인저장기(10)는 온라인으로 삽입, 삭제, 변경되는 문서의 포스팅 정보를 트랜잭션 방식으로 저장한다. 그리고 온라인으로 입력되는 문서의 포스팅 정보를 디스크 상의 보조저장소에 저장하고, 각 문서와 해당 문서로부터 추출된 모든 색인정보를 트랜잭션 단위로 처리하며, 모든 변경기록을 디스크 상의 로그로 기록한다.The secondary index storage unit 10 stores posting information of a document that is inserted, deleted, or changed online in a transactional manner. In addition, the posting information of documents entered online is stored in a secondary storage on disk, each document and all index information extracted from the documents are processed in a transaction unit, and all change records are recorded in a log on disk.

상기 주색인저장기(20)는 상기 색인펄싱장치(30)에 의해 상기 보조색인저장기(10)에 저장된 포스팅 정보 중에서 미리 정해진 임계치 크기에 도달한 포스팅 정보를 저장한다.The main index storage unit 20 stores the posting information reaching a predetermined threshold size among the posting information stored in the sub index storage unit 10 by the index pulsing apparatus 30.

상기 색인펄싱(pulsing)장치(30)는 상기 보조색인저장기에 저장된 포스팅 정보 중에서 미리 정해진 임계치 크기에 도달한 포스팅 정보를 주색인저장기로 이동시키는 역할을 한다. 또한, 상기 색인펄싱장치(30)는 상기 보조색인저장기(10)의 특정 단어에 대한 포스팅 정보의 길이가 주어진 임계치 크기에 이르면 해당 포스팅 정보를 상기 주색인저장기(20)로 이동시키고, 상기 보조색인저장기(10)에 저장된 해당 포스팅 정보를 삭제한다. The index pulsing device 30 serves to move the posting information that reaches a predetermined threshold size among the posting information stored in the secondary index storage to the main index storage. In addition, the index pulsing apparatus 30 moves the posting information to the main index storage unit 20 when the length of the posting information for a specific word of the secondary index storage system reaches a given threshold size. The posting information stored in the sub index storage unit 10 is deleted.

마지막으로, 상기 정보검색기(40)는 상기 주색인저장기(20)와 상기 보조색인저장기(10)에 저장된 포스팅 정보를 사용하여 온라인으로 삽입, 변경, 삭제된 문서를 포함하여 원하는 정보를 검색한다. 또한, 상기 정보검색기(40)는 주어진 질의에 대해서 상기 주색인저장기의 포스팅 정보와 상기 보조색인저장기의 포스팅 정보를 모두 활용하여 온라인에서 삽입, 삭제, 변경된 문서에 대해서 정확하게 검색해 주도록 한다.Finally, the information searcher 40 searches for desired information, including documents inserted, changed or deleted online, using the posting information stored in the main index storage 20 and the sub index storage 10. do. In addition, the information searcher 40 can accurately search for inserted, deleted, and changed documents online by utilizing both the posting information of the main index storage and the posting information of the secondary index storage for a given query.

이상의 본 발명은 상기에 기술된 실시 예들에 의해 한정되지 않고, 당업자들에 의해 다양한 변형 및 변경을 가져올 수 있으며, 이는 첨부된 특허청구범위에서 정의되는 본 발명의 취지와 범위에 포함되는 것으로 보아야 할 것이다. The present invention is not limited to the above-described embodiments, and various modifications and changes can be made by those skilled in the art, which should be regarded as included in the spirit and scope of the present invention as defined in the appended claims. will be.

[참고문헌][references]

[1] S. Amer-Yahia, P. Case, T. Roelleke, J. Shanmugasundaram, and G. Weikum. Report on the DB/IR panel at SIGMOD 2005. SIGMOD Record, 4(4):71.74, December 2005.[1] S. Amer-Yahia, P. Case, T. Roelleke, J. Shanmugasundaram, and G. Weikum. Report on the DB / IR panel at SIGMOD 2005.SIGMOD Record, 4 (4): 71.74, December 2005.

[2] V. N. Anh and A. Moffat. Improved word-aligned binary compression for text indexing. IEEE Transactions on Knowledge and Data Engineering, 18(6):857.861, 2006.[2] V. N. Anh and A. Moffat. Improved word-aligned binary compression for text indexing. IEEE Transactions on Knowledge and Data Engineering, 18 (6): 857.861, 2006.

[3] R. Baeza-Yates, Y. S. Maarek, T. Roelleke, and A. P. de Vries. Third edition of the .XML and information retrieval. workshop. First workshop on integration of IR and DB (WIRD) jointly held at SIGIR'2004, Sheffield, UK, July 29th, 2004. SIGIR Forum, 38(2):24.30, 2004.[3] R. Baeza-Yates, Y. S. Maarek, T. Roelleke, and A. P. de Vries. Third edition of the .XML and information retrieval. workshop. First workshop on integration of IR and DB (WIRD) jointly held at SIGIR'2004, Sheffield, UK, July 29th, 2004. SIGIR Forum, 38 (2): 24.30, 2004.

[4] D. Barbar´a, C. Clifton, F. Douglis, H. Garcia-Molina, S. Johnson, B. Kao, S. Mehrotra, J. Tellefsen, and R.Walsh. The Gold Mailer. In Proceedings of the Ninth International Conference on Data Engineering, April 19-23, 1993, Vienna, Austria, pages 92.99, 1993.[4] D. Barbar´a, C. Clifton, F. Douglis, H. Garcia-Molina, S. Johnson, B. Kao, S. Mehrotra, J. Tellefsen, and R. Walsh. The Gold Mailer. In Proceedings of the Ninth International Conference on Data Engineering, April 19-23, 1993, Vienna, Austria, pages 92.99, 1993.

[5] D. Barbar´a, S. Mehrotra, and P. Vallabhaneni. The Gold Text Indexing Engine. In ICDE '96: Proceedings of the Twelfth International Conference on Data Engineering, pages 172. 179, 1996. [5] D. Barbar´a, S. Mehrotra, and P. Vallabhaneni. The Gold Text Indexing Engine. In ICDE '96: Proceedings of the Twelfth International Conference on Data Engineering, pages 172. 179, 1996.

[6] H. Bast and I. Weber. The CompleteSearch Engine: Interactive, efficient, and towards IR&DB integration. In CIDR 2007, Third Biennial Conference on Innovative Data Systems Research, Asilomar, CA, USA, January 7-10, 2007, Online Proceedings, pages 88.95, 2007.[6] H. Bast and I. Weber. The CompleteSearch Engine: Interactive, efficient, and towards IR & DB integration. In CIDR 2007, Third Biennial Conference on Innovative Data Systems Research, Asilomar, CA, USA, January 7-10, 2007, Online Proceedings, pages 88.95, 2007.

[7] A. Bialecki, D. Cutting, S. Ganyo, C. Goller, O. Gospodnetic, M. Harwood, E. Hatcher, D. Naber, Y. Seeley, and S. Siren. The Apache Lucene Project. http://lucene.apache.org/.[7] A. Bialecki, D. Cutting, S. Ganyo, C. Goller, O. Gospodnetic, M. Harwood, E. Hatcher, D. Naber, Y. Seeley, and S. Siren. The Apache Lucene Project. http://lucene.apache.org/ .

[8] E. W. Brown, J. P. Callan, and W. B. Croft. Fast incremental indexing for full-text information retrieval. In VLDB'94, Proceedings of 20th International Conference on Very Large Data Bases, September 12-15, 1994, Santiago de Chile, Chile, pages 192.202, 1994.[8] E. W. Brown, J. P. Callan, and W. B. Croft. Fast incremental indexing for full-text information retrieval. In VLDB'94, Proceedings of 20th International Conference on Very Large Data Bases, September 12-15, 1994, Santiago de Chile, Chile, pages 192.202, 1994.

[9] S. B¨uttcher, C. L. A. Clarke, and B. Lushman. Hybrid index maintenance for growing text collections. In SIGIR '06: Proceedings of the 29th annual international ACM SIGIR conference on Research and development in information retrieval, pages 356.363, 2006.[9] S. B¨uttcher, C. L. A. Clarke, and B. Lushman. Hybrid index maintenance for growing text collections. In SIGIR '06: Proceedings of the 29th annual international ACM SIGIR conference on Research and development in information retrieval, pages 356.363, 2006.

[10] S. Chaudhuri, R. Ramakrishnan, and G. Weikum. Integrating DB and IR technologies: What is the sound of one hand clapping? In Proceedings of the Second Biennial Conference on Innovative Data Systems Research (CIDR 05), pages 1.12, Asilomar, CA, USA, 2005. [10] S. Chaudhuri, R. Ramakrishnan, and G. Weikum. Integrating DB and IR technologies: What is the sound of one hand clapping? In Proceedings of the Second Biennial Conference on Innovative Data Systems Research (CIDR 05), pages 1.12, Asilomar, CA, USA, 2005.

[11] S. Chaudhuri and G. Weikum. Rethinking database system architecture: Towards a self-tuning RISC-style database system. In VLDB 2000, Proceedings of 26th International Conference on Very Large Data Bases, September 10-14, 2000, Cairo, Egypt, pages 1.10, 2000. [11] S. Chaudhuri and G. Weikum. Rethinking database system architecture: Towards a self-tuning RISC-style database system. In VLDB 2000, Proceedings of 26th International Conference on Very Large Data Bases, September 10-14, 2000, Cairo, Egypt, pages 1.10, 2000.

[12] T. Chiueh and L. Huang. Efficient real-time index updates in text retrieval systems. Technical Report ECSL-TR-66, Computer Science Department, SUNY at Stony Brook, 1999. [12] T. Chiueh and L. Huang. Efficient real-time index updates in text retrieval systems. Technical Report ECSL-TR-66, Computer Science Department, SUNY at Stony Brook, 1999.

[13] M. P. Consens and R. A. Baeza-Yates. Database and information retrieval techniques for XML. In Advances in Computer Science - ASIAN 2005, Data Management on the Web, 10th Asian Computing Science Conference, Kunming, China, December 7-9, 2005, Proceedings, volume 3818, pages 22.27, 2005. [13] M. P. Consens and R. A. Baeza-Yates. Database and information retrieval techniques for XML. In Advances in Computer Science-ASIAN 2005, Data Management on the Web, 10th Asian Computing Science Conference, Kunming, China, December 7-9, 2005, Proceedings, volume 3818, pages 22.27, 2005.

[14] D. R. Cutting and J. O. Pedersen. Optimization for dynamic inverted index maintenance. In SIGIR '90: Proceedings of the 13th annual international ACM SIGIR conference on Research and development in information retrieval, pages 405. 411, 1990.[14] D. R. Cutting and J. O. Pedersen. Optimization for dynamic inverted index maintenance. In SIGIR '90: Proceedings of the 13th annual international ACM SIGIR conference on Research and development in information retrieval, pages 405. 411, 1990.

[15] A. P. de Vries and A. N. Wilschut. On the integration of IR and Databases. In Database issues in multimedia; short paper proceedings, 8th International IFIP 2.6Working Conference on Database Semantics (DS-8), Rotorua, New Zealand, volume 138, pages 16.31, 1999. [15] A. P. de Vries and A. N. Wilschut. On the integration of IR and Databases. In Database issues in multimedia; short paper proceedings, 8th International IFIP 2.6 Working Conference on Database Semantics (DS-8), Rotorua, New Zealand, volume 138, pages 16.31, 1999.

[16] W. B. Frakes and R. A. Baeza-Yates. Information Retrieval: Data Structures & Algorithms. Prentice-Hall, 1992. [16] W. B. Frakes and R. A. Baeza-Yates. Information Retrieval: Data Structures & Algorithms. Prentice-Hall, 1992.

[17] GIIS. KRISTAL-IRMS: Information Retrieval & Management System. http://www.kristalinfo.com/. [17] GIIS. KRISTAL-IRMS: Information Retrieval & Management System. http://www.kristalinfo.com/ .

[18] J. Gray. The next database revolution. In SIGMOD '04: Proceedings of the 2004 ACM SIGMOD international conference on Management of data, pages 1.4, 2004.[18] J. Gray. The next database revolution. In SIGMOD '04: Proceedings of the 2004 ACM SIGMOD international conference on Management of data, pages 1.4, 2004.

[19] L. Guo, J. Shanmugasundaram, K. Beyer, and E. Shekita. Efficient Inverted lists and query algorithms for Structured Value Ranking in update-intensive relational databases. In ICDE '05: Proceedings of the 21st International Conference on Data Engineering (ICDE'05), pages 298.309, 005.[19] L. Guo, J. Shanmugasundaram, K. Beyer, and E. Shekita. Efficient Inverted lists and query algorithms for Structured Value Ranking in update-intensive relational databases. In ICDE '05: Proceedings of the 21st International Conference on Data Engineering (ICDE'05), pages 298.309, 005.

[20] S. H´eman, M. Zukowski, A. P. de Vries, and P. A. Boncz. Efficient and 리exible information retrieval using MonetDB/ X100. In CIDR 2007, Third Biennial Conference on Innovative Data Systems Research, Asilomar, CA, USA, January 7-10, 2007, Online Proceedings, pages 96.101, 2007.[20] S. H´eman, M. Zukowski, A. P. de Vries, and P. A. Boncz. Efficient and reexible information retrieval using MonetDB / X100. In CIDR 2007, Third Biennial Conference on Innovative Data Systems Research, Asilomar, CA, USA, January 7-10, 2007, Online Proceedings, pages 96.101, 2007.

[21] N. Kabra, R. Ramakrishnan, and V. Ercegovac. The QUIQ engine: hybrid IR-DB system. In Proceedings of the 19th International Conference on Data Engineering (ICDE), March 5-8, 2003, Bangalore, India, pages 741., 2003.[21] N. Kabra, R. Ramakrishnan, and V. Ercegovac. The QUIQ engine: hybrid IR-DB system. In Proceedings of the 19th International Conference on Data Engineering (ICDE), March 5-8, 2003, Bangalore, India, pages 741., 2003.

[22] D. Knaus and P. Sch¨auble. The system architecture and the transaction concept of the SPIDER information retrieval system. IEEE Data Eng. Bull., 19(1):43.52, 1996. [22] D. Knaus and P. Sch¨auble. The system architecture and the transaction concept of the SPIDER information retrieval system. IEEE Data Eng. Bull., 19 (1): 43.52, 1996.

[23] N. Lester, J. Zobel, and H. Williams. Efficient online index maintenance for contiguous inverted lists. Inf. Process. Manage., 42(4):916.933, 2006.[23] N. Lester, J. Zobel, and H. Williams. Efficient online index maintenance for contiguous inverted lists. Inf. Process. Manage., 42 (4): 916.933, 2006.

[24] N. Lester, J. Zobel, and H. E. Williams. In-Place versus Re-Build versus Re-Merge: Index Maintenance Strategies for Text Retrieval Systems. In Computer Science 2004, Twenty-Seventh Australasian Computer Science Conference (ACSC2004), Dunedin, New Zealand, January 2004, pages 15.22, 2004. [24] N. Lester, J. Zobel, and H. E. Williams. In-Place versus Re-Build versus Re-Merge: Index Maintenance Strategies for Text Retrieval Systems. In Computer Science 2004, Twenty-Seventh Australasian Computer Science Conference (ACSC2004), Dunedin, New Zealand, January 2004, pages 15.22, 2004.

[25] L. Lim, M.Wang, S. Padmanabhan, J. S. Vitter, and R. Agarwal. Dynamic maintenance of web indexes using landmarks. In WWW '03: Proceedings of the 12th international conference on World Wide Web, pages 102.111, 2003.[25] L. Lim, M. Wang, S. Padmanabhan, J. S. Vitter, and R. Agarwal. Dynamic maintenance of web indexes using landmarks. In WWW '03: Proceedings of the 12th international conference on World Wide Web, pages 102.111, 2003.

[26] W.-Y. Shieh and C.-P. Chung. A statistics-based approach to incrementally update inverted les. Inf. Process. Manage., 41(2):275.288, 2005.[26] W.-Y. Shieh and C.-P. Chung. A statistics-based approach to incrementally update inverted les. Inf. Process. Manage., 41 (2): 275.288, 2005.

[27] K. Shoens, A. Tomasic, and H. Garcia-Molina. Synthetic workload performance analysis of incremental updates. In SIGIR '94: Proceedings of the 17th annual international ACM SIGIR conference on Research and development in information retrieval, pages 329.338, 1994.[27] K. Shoens, A. Tomasic, and H. Garcia-Molina. Synthetic workload performance analysis of incremental updates. In SIGIR '94: Proceedings of the 17th annual international ACM SIGIR conference on Research and development in information retrieval, pages 329.338, 1994.

[28] M. Theobald, R. Schenkel, and G. Weikum. An efficient and versatile query engine for TopX search. In VLDB '05: Proceedings of the 31st International Conference on Very Large Data Bases, pages 625.636, 2005.[28] M. Theobald, R. Schenkel, and G. Weikum. An efficient and versatile query engine for TopX search. In VLDB '05: Proceedings of the 31st International Conference on Very Large Data Bases, pages 625.636, 2005.

[29] A. Tomasic, H. Garcia-Molina, and K. A. Shoens. Incremental updates of inverted lists for text document retrieval. In Proceedings of the 1994 ACM SIGMOD International Conference on Management of Data, Minneapolis, Minnesota, May 24-27, 1994, pages 289.300, 1994.[29] A. Tomasic, H. Garcia-Molina, and K. A. Shoens. Incremental updates of inverted lists for text document retrieval. In Proceedings of the 1994 ACM SIGMOD International Conference on Management of Data, Minneapolis, Minnesota, May 24-27, 1994, pages 289.300, 1994.

[30] K.-Y. Whang, M.-J. Lee, J.-G. Lee, M.-S. Kim, and W.-S. Han. Odysseus: A high-performance ORDBMS tightly-coupled with IR features. In ICDE '05: Proceedings of the 21st International Conference on Data Engineering (ICDE'05), pages 1104.1005, 2005.[30] K.-Y. Whang, M.-J. Lee, J.-G. Lee, M.-S. Kim, and W.-S. Han. Odysseus: A high-performance ORDBMS tightly-coupled with IR features. In ICDE '05: Proceedings of the 21st International Conference on Data Engineering (ICDE'05), pages 1104.1005, 2005.

[31] I. H. Witten, A. Moffat, and T. C. Bell. Managing Gigabytes: Compressing and Indexing Documents and Images. Morgan Kaufmann Publishers, San Francisco, CA, 1999.[31] I. H. Witten, A. Moffat, and T. C. Bell. Managing Gigabytes: Compressing and Indexing Documents and Images. Morgan Kaufmann Publishers, San Francisco, CA, 1999.

[32] J. Zobel and A. Moffat. Inverted les for text search engines. ACM comput. Surv., 38(2):6, 2006.[32] J. Zobel and A. Moffat. Inverted les for text search engines. ACM comput. Surv., 38 (2): 6, 2006.

[33] J. Zobel, A. Moffat, and K. Ramamohanarao. Inverted les versus signature les for text indexing. ACM Trans. Database Systems, 23(4):453.490, 1998.[33] J. Zobel, A. Moffat, and K. Ramamohanarao. Inverted les versus signature les for text indexing. ACM Trans. Database Systems, 23 (4): 453.490, 1998.

도 1 내지 도 9는 본 발명의 바람직한 실시 예에 의한 데이터베이스와 정보검색 통합을 위한 문서단위 동적 색인관리 특성을 갖는 정보검색 방법을 설명하기 위한 도면으로서,1 to 9 are diagrams for explaining an information retrieval method having a document-based dynamic index management characteristic for integrating a database and information retrieval according to an embodiment of the present invention.

도 1은 DB와 IR의 접근 방식에 따른 정보 시스템 평가 결과를 나타낸 도면이고,1 is a view showing the evaluation results of the information system according to the approach of the DB and IR,

도 2는 펄싱 임계값 DF=3을 갖는 펄싱 보조 색인을 나타낸 도면이고,2 is a diagram showing a pulsing auxiliary index with a pulsing threshold value DF = 3,

도 3은 반정형 포맷의 샘플 데이터를 나타낸 도면이고,3 is a diagram showing sample data in a semi-standard format,

도 4는 10K 세트에 대한 10,000개의 입력 문서 중에 매 10개에 대하여 평균된 삽입 시간을 나타낸 도면이고,4 shows the insertion time averaged for every 10 of 10,000 input documents for a 10K set,

도 5는 100K 세트에 대한 10,000개 입력 문서 중에 매 10개에 대해 평균된 삽입 시간을 나타낸 도면이고,5 shows the insertion time averaged for every 10 of 10,000 input documents for a 100K set,

도 6은 1M 세트에 대한 10,000개 입력 문서 중에 매 10개에 대해 평균된 삽입 시간을 나타낸 도면이고,6 shows the insertion time averaged for every ten of 10,000 input documents for a 1M set,

도 7은 단독 보조색인과 펄싱 보조색인을 이용하여 10K, 100K, 및 1M 세트에 대해 10,000개의 새로운 문서를 추가할 때의 문서당 평균 삽입 시간을 비교한 도면이고,FIG. 7 compares the average insertion time per document when adding 10,000 new documents for 10K, 100K, and 1M sets using a single subindex and a pulsing subindex.

도 8은 1M 세트에 10,000개의 새로운 문서를 추가한 후에, 가변 DF 범위를 갖는 용어들의 평균 질의처리 시간을 나타낸 도면이고,8 is a view showing the average query processing time of terms having a variable DF range after adding 10,000 new documents to the 1M set,

도 9는 10K, 100K, 및 1M 세트에 10,000개의 새로운 문서를 추가한 후에, 복 합 질의들에 대한 평균 질의처리 시간을 나타낸 도면이다.9 is a diagram showing the average query processing time for complex queries after adding 10,000 new documents to 10K, 100K, and 1M sets.

도 10 및 도 11은 본 발명의 바람직한 실시 예에 의한 정보검색 시스템의 구성도10 and 11 is a block diagram of an information retrieval system according to a preferred embodiment of the present invention

[도면의 주요 부분에 대한 간단한 설명][A brief description of the main parts of the drawing]

10 : 보조색인저장기 20 : 주색인저장기10: secondary index storage 20: primary index storage

30 : 색인펄싱(pulsing)장치 40 : 정보검색기30: index pulsing device 40: information search machine

Claims (8)

문서를 동적으로 관리하는 정보검색 시스템에 있어서,In an information retrieval system that manages documents dynamically, 온라인으로 삽입, 삭제, 변경되는 문서의 포스팅 정보를 트랜잭션 방식으로 저장하는 보조색인저장기와;An auxiliary index storage unit for storing posting information of a document to be inserted, deleted or changed online in a transactional manner; 상기 보조색인저장기에 저장된 포스팅 정보 중에서 미리 정해진 임계치 크기에 도달한 포스팅 정보를 주색인저장기로 이동시키는 색인펄싱(pulsing)장치; 및An index pulsing device for moving the posting information that reaches a predetermined threshold size among the posting information stored in the secondary index storage device to the main index storage device; And 상기 주색인저장기와 상기 보조색인저장기에 저장된 포스팅 정보를 사용하여 온라인으로 삽입, 변경, 삭제된 문서를 포함하여 원하는 정보를 검색하는 정보검색기;를 포함하여 구성된 것을 특징으로 하는 정보검색 시스템.And an information searcher for searching for desired information including documents inserted, changed or deleted online by using the posting information stored in the main index storage and the sub index storage. 제 1 항에 있어서, 상기 보조색인저장기는:The method of claim 1, wherein the secondary index reservoir is: 온라인으로 입력되는 문서의 포스팅 정보를 디스크 상의 보조저장소에 저장하고, 각 문서와 해당 문서로부터 추출된 모든 색인정보를 트랜잭션 단위로 처리하며, 모든 변경기록을 디스크 상의 로그로 기록하는 것을 특징으로 하는 정보검색 시스템.Information posted on the disk is stored in a secondary storage on the disk, the document is entered online, each document and all index information extracted from the document is processed in a transactional unit, and all the change history is recorded on the disk log information Search system. 제 1 항에 있어서, 상기 색인펄싱장치는:The device of claim 1, wherein the index pulsing device comprises: 상기 보조색인저장기의 특정 단어에 대한 포스팅 정보의 길이가 주어진 임계치 크기에 이르면 해당 포스팅 정보를 상기 주색인저장기로 이동시키고, 상기 보조색인저장기에 저장된 해당 포스팅 정보는 삭제하는 것을 특징으로 하는 정보검색 시스템.When the length of the posting information for a specific word of the secondary index storage reaches a given threshold size, the corresponding posting information is moved to the main index storage, and the posting information stored in the secondary index storage is deleted. system. 제 1 항에 있어서, 상기 정보검색기는:The method of claim 1, wherein the IR is: 주어진 질의에 대해서 상기 주색인저장기의 포스팅 정보와 상기 보조색인저장기의 포스팅 정보를 모두 활용하여 온라인에서 삽입, 삭제, 변경된 문서에 대해서 정확하게 검색해 주는 것을 특징으로 하는 정보검색 시스템.And an information retrieval system that accurately searches for inserted, deleted, or changed documents online by using both the posting information of the main index storage and the posting information of the secondary index storage for a given query. 정보검색 방법에 있어서,In the information retrieval method, (a) 온라인으로 삽입, 삭제, 변경되는 문서의 포스팅 정보를 보조색인저장기에 트랜잭션 방식으로 저장하는 단계와;(a) storing, in a transactional manner, posting information of a document to be inserted, deleted, or changed online in a secondary index store; (b) 상기 보조색인저장기에 저장된 포스팅 정보 중에서 미리 정해진 임계치 크기에 도달한 포스팅 정보를 주색인저장기로 이동시키는 단계; 및(b) moving the posting information, which has reached a predetermined threshold size, from the posting information stored in the secondary index store to the main index store; And (c) 상기 주색인저장기와 상기 보조색인저장기에 저장된 포스팅 정보를 사용하여 온라인으로 삽입, 변경, 삭제된 문서를 포함하여 원하는 정보를 검색하는 단계;를 포함하여 구성된 것을 특징으로 하는 정보검색 방법.(c) searching for desired information including documents inserted, changed, or deleted online by using the posting information stored in the main index storage and the sub index storage. 제 5 항에 있어서, 상기 보조색인저장기는:The method of claim 5, wherein the secondary index reservoir is: 온라인으로 입력되는 문서의 포스팅 정보를 디스크 상의 보조저장소에 저장하고, 각 문서와 해당 문서로부터 추출된 모든 색인정보를 트랜잭션 단위로 처리하며, 모든 변경기록을 디스크 상의 로그로 기록하는 것을 특징으로 하는 정보검색 방법.Information posted on the disk is stored in a secondary storage on the disk, the document is entered online, each document and all index information extracted from the document is processed in a transactional unit, and all the change history is recorded on the disk log information Search method. 제 5 항에 있어서, 상기 (b) 단계에서는:The method of claim 5, wherein in step (b): 상기 보조색인저장기의 특정 단어에 대한 포스팅 정보의 길이가 주어진 임계치 크기에 이르면 해당 포스팅 정보를 상기 주색인저장기로 이동시키고, 상기 보조색인저장기에 저장된 해당 포스팅 정보는 삭제하는 것을 특징으로 하는 정보검색 방법.When the length of the posting information for a specific word of the secondary index storage reaches a given threshold size, the corresponding posting information is moved to the main index storage, and the posting information stored in the secondary index storage is deleted. Way. 제 5 항에 있어서, 상기 정보검색 방법은:The method of claim 5, wherein the information retrieval method is: 주어진 질의에 대해서 상기 주색인저장기의 포스팅 정보와 상기 보조색인저장기의 포스팅 정보를 모두 활용하여 온라인에서 삽입, 삭제, 변경된 문서에 대해서 정확하게 검색하는 것을 특징으로 하는 정보검색 방법.An information retrieval method for accurately retrieving inserted, deleted or modified documents online by using both the posting information of the main index storage and the posting information of the secondary index storage for a given query.
KR1020070113566A 2007-11-08 2007-11-08 Information System Having Per-Document Basis Transactional Index Maintenance Toward DB-IR Integration, And Method Thereof KR100911413B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070113566A KR100911413B1 (en) 2007-11-08 2007-11-08 Information System Having Per-Document Basis Transactional Index Maintenance Toward DB-IR Integration, And Method Thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070113566A KR100911413B1 (en) 2007-11-08 2007-11-08 Information System Having Per-Document Basis Transactional Index Maintenance Toward DB-IR Integration, And Method Thereof

Publications (2)

Publication Number Publication Date
KR20090047632A KR20090047632A (en) 2009-05-13
KR100911413B1 true KR100911413B1 (en) 2009-08-11

Family

ID=40856960

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070113566A KR100911413B1 (en) 2007-11-08 2007-11-08 Information System Having Per-Document Basis Transactional Index Maintenance Toward DB-IR Integration, And Method Thereof

Country Status (1)

Country Link
KR (1) KR100911413B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0198020A (en) * 1987-10-09 1989-04-17 Nec Corp Index management system
US5204958A (en) 1991-06-27 1993-04-20 Digital Equipment Corporation System and method for efficiently indexing and storing a large database with high data insertion frequency
JPH0954781A (en) * 1995-08-17 1997-02-25 Oki Electric Ind Co Ltd Document retrieving system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0198020A (en) * 1987-10-09 1989-04-17 Nec Corp Index management system
US5204958A (en) 1991-06-27 1993-04-20 Digital Equipment Corporation System and method for efficiently indexing and storing a large database with high data insertion frequency
JPH0954781A (en) * 1995-08-17 1997-02-25 Oki Electric Ind Co Ltd Document retrieving system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Journal of the Research Institute for Computer and Information Communication Vol.9, No.2

Also Published As

Publication number Publication date
KR20090047632A (en) 2009-05-13

Similar Documents

Publication Publication Date Title
Luo et al. LSM-based storage techniques: a survey
US8949247B2 (en) Method for dynamic updating of an index, and a search engine implementing the same
Twigg et al. Stratified b-trees and versioned dictionaries
JP5175005B2 (en) Phrase-based search method in information search system
US6349308B1 (en) Inverted index storage structure using subindexes and large objects for tight coupling of information retrieval with database management systems
JP4944405B2 (en) Phrase-based indexing method in information retrieval system
Lim et al. Dynamic maintenance of web indexes using landmarks
US20090228528A1 (en) Supporting sub-document updates and queries in an inverted index
JP2006048683A (en) Phrase identification method in information retrieval system
Lester et al. Efficient online index maintenance for contiguous inverted lists
Zhou et al. Top-down XML keyword query processing
Hadjieleftheriou et al. Efficient approximate search on string collections
Mamoulis et al. Similarity search in sets and categorical data using the signature tree
Tzouramanis et al. Overlapping B+-trees: An implementation of a transaction time access method
Zhang et al. Efficient search in large textual collections with redundancy
KR100911413B1 (en) Information System Having Per-Document Basis Transactional Index Maintenance Toward DB-IR Integration, And Method Thereof
Stockinger et al. Using bitmap index for joint queries on structured and text data
Kim et al. Toward DB-IR Integration: Per-Document Basis Transactional Index Maintenance
Nørvåg Space-efficient support for temporal text indexing in a document archive context
KR100612376B1 (en) A index system and method for xml documents using node-range of integration path
Yafooz et al. Model for automatic textual data clustering in relational databases schema
Chang et al. Efficient phrase querying with common phrase index
Lim et al. Efficient update of indexes for dynamically changing web documents
Jin et al. A Study on the DB-IR Integration: Per-Document Basis Online Index Maintenance
Lempel et al. Just in time indexing for up to the second search

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee