JP4439496B2 - 検索処理装置及びプログラム - Google Patents
検索処理装置及びプログラム Download PDFInfo
- Publication number
- JP4439496B2 JP4439496B2 JP2006195773A JP2006195773A JP4439496B2 JP 4439496 B2 JP4439496 B2 JP 4439496B2 JP 2006195773 A JP2006195773 A JP 2006195773A JP 2006195773 A JP2006195773 A JP 2006195773A JP 4439496 B2 JP4439496 B2 JP 4439496B2
- Authority
- JP
- Japan
- Prior art keywords
- phrase
- index
- character string
- storage means
- search
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
前記検索式の示す検索条件に合致する、前記文字列関数で指定される文字列を含む構造化文書を、前記第1または第2の位置取得手段によって取得された位置情報に基づいて前記文書データベースから検索する文書検索手段とを具備する。
図1は本発明の一実施形態に係る検索処理装置を含むクライアント−サーバシステムのハードウェア構成を示すブロック図である。クライアント−サーバシステムは、主として、データベースサーバ(データベースサーバコンピュータ)10と、複数のクライアント端末とから構成される。複数のクライアント端末はクライアント端末20を含む。クライアント端末20上では、データベースサーバ10を利用するクライアントソフトウェアが動作する。クライアントソフトウェアは例えばブラウザである。クライアント端末20を含む複数のクライアント端末は、ローカルエリアネットワーク(LAN)のようなネットワーク30を介してデータベースサーバ10と接続されている。なお、図1にはクライアント端末20以外のクライアント端末は省略されている。
今、クライアント端末20から検索処理装置50に対し、構造化文書問い合わせがネットワーク30を介して与えられたものとする。検索処理装置50内のインタフェース51は、このクライアント端末20からの構造化文書問い合わせを受け付けると、当該問い合わせを解析部52に渡す。解析部52は、この問い合わせで使用される検索式を解析することにより、構造検索部53、完全一致型検索部54及び部分一致型検索部55のいずれを動作させるかを決定する。ここで、上記検索式が、XQueryの式であるものとする。XQueryの式に含まれる関数として、string(文字列)処理系と呼ばれる、文字列を扱う関数(つまり文字列関数)が知られている。文字列関数としては、指定の文字列から指定の条件に合致する部分文字列を取り出すためのsubstring関数や、指定の文字列の連結を指定するconcat関数などが定義されている。また、部分一致型検索に利用される文字列関数としては、contains関数、start−with関数、end−with関数などが定義されている。
/Catalog/Book[contains(./Name/text(),”ルネッサンス”)]
のような、contains関数「contains(./Name/text(),”ルネッサンス”)」を含むXQeryの式であるものとする。このcontains関数を含むXQeryの式は、「/Catalog/Book」と一致する構造のノード(Bookノード)のうち、その題目(Name)に「ルネッサンス」という文字列を含むノード(書籍)を検索することを指定する。
次に上記実施形態の変形例について説明する。
上記実施形態においては、辞書テーブル110を利用することにより、索引部422のN−グラム索引を利用する場合に比べて、指定文字列の位置情報を高速で取得できる。但し、この効果は、指定文字列を構成する文字数nが少ない場合には低くなる。そこで本変形例では、辞書テーブル110のエントリから辞書ファイル43に保存すべきエントリを決定する条件に、参照回数Nrだけでなく、文字数が加えられる。更に具体的に述べるならば、文字数nによって決まる重みwnであって、当該文字数nが少ないほど小さな値となる重みwnを参照回数Nrに乗じて得られる値Nr×wn(つまり重み付けされた参照回数Nr×wn)が、上記ステップS5において参照回数Nrに代えて用いられる。
Claims (2)
- 複数の構造化文書が格納された文書データベースから、与えられた検索式の示す検索条件に合致する構造化文書を検索する検索処理装置において、
前記文書データベースに格納されている構造化文書の各々をN−グラムの部分文字列に分割することによって生成されるN−グラム索引であって、当該部分文字列の位置を示す位置情報と対応付けられたN−グラム索引を格納するN−グラム索引格納手段と、
語句の位置を示す位置情報と対応付けられた語句索引を当該語句索引が参照される回数を表す参照回数と対応付けて格納する揮発性の第1の語句索引格納手段と、
前記第1の語句索引格納手段に格納されている語句索引の中から選択された、語句の位置を示す位置情報と対応付けられた語句索引を、再利用可能なように格納する不揮発性の第2の語句索引格納手段と、
前記検索式が文字列を指定する文字列関数を含む場合、当該文字列関数で指定される文字列を語句とする語句索引が前記第1及び第2の語句索引格納手段のいずれに存在するかを判定する判定手段と、
前記文字列関数で指定される文字列を語句とする語句索引が前記第1及び第2の語句索引格納手段のいずれにも存在しない場合、前記N−グラム索引格納手段に格納されているN−グラム索引のうち、前記文字列関数で指定される文字列を構成するN−グラム文字列に対応するN−グラム索引を利用して当該文字列の位置情報を取得する第1の位置取得手段と、
前記文字列関数で指定される文字列を語句とする語句索引が前記第1の語句索引格納手段に存在する場合、当該語句索引に対応付けられている前記参照回数をインクリメントする参照回数管理手段と、
前記文字列関数で指定される文字列を語句とする語句索引が前記第1の語句索引格納手段に存在しないが、前記第2の語句索引格納手段には存在する場合、当該語句索引を前記第2の語句索引格納手段から前記第1の語句索引格納手段にロードして、当該ロードされた語句索引に値が初期値の参照回数を対応付けるロード手段と、
前記文字列関数で指定される文字列を語句とする語句索引が前記第1及び第2の語句索引格納手段のいずれにも存在しない場合、当該文字列を語句とする語句索引を生成して、当該生成された語句索引を前記第1の位置取得手段によって取得された位置情報及び値が初期値の参照回数と対応付けて前記第1の語句索引格納手段に格納し、前記文字列関数で指定される文字列を語句とする語句索引が前記第1の語句索引格納手段のみに存在し、且つ当該語句索引と対応付けられている参照回数を当該文字列の文字数で決まる当該文字数が多いほど値が大きくなる重みで重み付けした後の、その重み付けされた参照回数が予め定められた閾値を超えている場合に、当該語句索引を前記第2の語句索引格納手段に追加する語句索引生成手段と、
前記文字列関数で指定される文字列を語句とする語句索引が前記第1及び第2の語句索引格納手段の少なくとも一方に存在する場合、当該語句索引を利用して当該文字列の位置情報を取得する第2の位置取得手段と、
前記検索式の示す検索条件に合致する、前記文字列関数で指定される文字列を含む構造化文書を、前記第1または第2の位置取得手段によって取得された位置情報に基づいて前記文書データベースから検索する文書検索手段と
具備することを特徴とする文書検索処理装置。 - 文書データベースに格納されている複数の構造化文書の各々をN−グラムの部分文字列に分割することによって生成されるN−グラム索引であって、当該部分文字列の位置を示す位置情報と対応付けられたN−グラム索引を格納するN−グラム索引格納手段と、語句の位置を示す位置情報と対応付けられた語句索引を当該語句索引が参照される回数を表す参照回数と対応付けて格納する揮発性の第1の語句索引格納手段と、前記第1の語句索引格納手段に格納されている語句索引の中から選択された、語句の位置を示す位置情報と対応付けられた語句索引を、再利用可能なように格納する不揮発性の第2の語句索引格納手段とを含むコンピュータが、前記文書データベースから、与えられた検索式の示す検索条件に合致する構造化文書を検索するのに用いられるプログラムであって、
前記コンピュータに、
前記検索式が文字列を指定する文字列関数を含むかを判定するステップと、
前記検索式が文字列を指定する文字列関数を含む場合、当該文字列を語句とする語句索引が前記第1及び第2の語句索引格納手段のいずれに存在するかを判定するステップと、
前記文字列関数で指定される文字列を語句とする語句索引が前記第1及び第2の語句索引格納手段のいずれにも存在しない場合、前記N−グラム索引格納手段に格納されているN−グラム索引のうち、前記文字列関数で指定される文字列を構成するN−グラム文字列に対応するN−グラム索引を利用して当該文字列の位置情報を取得する第1の位置取得ステップと、
前記文字列関数で指定される文字列を語句とする語句索引が前記第1の語句索引格納手段に存在する場合、当該語句索引に対応付けられている前記参照回数をインクリメントするステップと、
前記文字列関数で指定される文字列を語句とする語句索引が前記第1の語句索引格納手段に存在しないが、前記第2の語句索引格納手段には存在する場合、当該語句索引を前記第2の語句索引格納手段から前記第1の語句索引格納手段にロードして、当該ロードされた語句索引に値が初期値の参照回数を対応付けるステップと、
前記文字列関数で指定される文字列を語句とする語句索引が前記第1及び第2の語句索引格納手段のいずれにも存在しない場合、当該文字列を語句とする語句索引を生成して、当該生成された語句索引を前記第1の位置取得ステップで取得された位置情報及び値が初期値の参照回数と対応付けて前記第1の語句索引格納手段に格納するステップと、
前記文字列関数で指定される文字列を語句とする語句索引が前記第1の語句索引格納手段のみに存在し、且つ当該語句索引と対応付けられている参照回数を当該文字列の文字数で決まる当該文字数が多いほど値が大きくなる重みで重み付けした後の、その重み付けされた参照回数が予め定められた閾値を超えている場合に、当該語句索引を前記第2の語句索引格納手段に追加するステップと、
前記文字列関数で指定される文字列を語句とする語句索引が前記第1及び第2の語句索引格納手段の少なくとも一方に存在する場合、当該語句索引を利用して当該文字列の位置情報を取得する第2の位置取得ステップと、
前記検索式の示す検索条件に合致する、前記文字列関数で指定される文字列を含む構造化文書を、前記第1または第2の位置取得ステップで取得された位置情報に基づいて前記文書データベースから検索するステップと
を実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006195773A JP4439496B2 (ja) | 2006-07-18 | 2006-07-18 | 検索処理装置及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006195773A JP4439496B2 (ja) | 2006-07-18 | 2006-07-18 | 検索処理装置及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008026963A JP2008026963A (ja) | 2008-02-07 |
JP4439496B2 true JP4439496B2 (ja) | 2010-03-24 |
Family
ID=39117562
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006195773A Expired - Fee Related JP4439496B2 (ja) | 2006-07-18 | 2006-07-18 | 検索処理装置及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4439496B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5145202B2 (ja) * | 2008-12-04 | 2013-02-13 | 日本電信電話株式会社 | 文書検索装置および文書検索プログラム |
JP5560971B2 (ja) * | 2010-07-05 | 2014-07-30 | 日本電気株式会社 | 文書検索装置、文書検索方法、及びプログラム |
KR101793578B1 (ko) | 2011-04-08 | 2017-11-20 | 삼성전자 주식회사 | 효율적으로 질의를 처리하는 방법 및 장치 |
CN105138637A (zh) * | 2015-08-24 | 2015-12-09 | 浪潮软件股份有限公司 | 一种数据处理的方法及装置 |
-
2006
- 2006-07-18 JP JP2006195773A patent/JP4439496B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2008026963A (ja) | 2008-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7752193B2 (en) | System and method for building and retrieving a full text index | |
KR101522049B1 (ko) | 모호성 민감 자연 언어 처리 시스템에서의 동일 지시어 분석 | |
US8280721B2 (en) | Efficiently representing word sense probabilities | |
JPWO2009063925A1 (ja) | 文書管理・検索システムおよび文書の管理・検索方法 | |
JP4237813B2 (ja) | 構造化文書管理システム | |
JP2008171181A (ja) | 構造化データ検索装置 | |
JP2010224883A (ja) | 構造化文書管理装置、及び方法 | |
JP2010262577A (ja) | 抽出規則作成システム、抽出規則作成方法及び抽出規則作成プログラム | |
JP4439496B2 (ja) | 検索処理装置及びプログラム | |
US8229970B2 (en) | Efficient storage and retrieval of posting lists | |
US20220121637A1 (en) | Structured document indexing and searching | |
JP4439497B2 (ja) | 検索処理装置及びプログラム | |
WO2010119794A1 (en) | Information processing apparatus and information processing method | |
JP2009277099A (ja) | 類似文書検索装置及び方法及びプログラム及びコンピュータ読取可能な記録媒体 | |
JP5169456B2 (ja) | 文書検索システム、文書検索方法および文書検索プログラム | |
JP5260123B2 (ja) | 検索システム、索引作成装置、検索エンジン、索引作成方法、検索方法およびプログラム | |
JP4091586B2 (ja) | 構造化文書管理システム、索引構築方法及びプログラム | |
JP2009251845A (ja) | 検索結果評価装置及び検索結果評価方法 | |
JP4635585B2 (ja) | 質問応答システム、質問応答方法及び質問応答プログラム | |
KR20010107113A (ko) | 자연어 정보 검색 시스템에서 구문 트리를 이용한 자연어질의의 불린 질의 및 벡터 질의 변환 방법 | |
JP4304226B2 (ja) | 構造化文書管理システム、構造化文書管理方法及びプログラム | |
JP4160627B2 (ja) | 構造化文書管理システム及びプログラム | |
JP4148247B2 (ja) | 語彙獲得方法及び装置及びプログラム及びコンピュータ読み取り可能な記録媒体 | |
JP4543819B2 (ja) | 情報検索システム、情報検索方法及び情報検索プログラム | |
JP4206266B2 (ja) | 全文検索装置、処理方法、処理プログラム及び記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090728 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090925 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20091208 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100105 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130115 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140115 Year of fee payment: 4 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |