JP2004164555A - Apparatus and method for retrieval, and apparatus and method for index building - Google Patents
Apparatus and method for retrieval, and apparatus and method for index building Download PDFInfo
- Publication number
- JP2004164555A JP2004164555A JP2003075724A JP2003075724A JP2004164555A JP 2004164555 A JP2004164555 A JP 2004164555A JP 2003075724 A JP2003075724 A JP 2003075724A JP 2003075724 A JP2003075724 A JP 2003075724A JP 2004164555 A JP2004164555 A JP 2004164555A
- Authority
- JP
- Japan
- Prior art keywords
- index
- search
- hit
- records
- record
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 45
- 238000010276 construction Methods 0.000 claims description 19
- 238000004364 calculation method Methods 0.000 claims description 16
- 238000004891 communication Methods 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims 5
- 238000005516 engineering process Methods 0.000 abstract description 3
- 239000000284 extract Substances 0.000 abstract description 2
- 238000007726 management method Methods 0.000 description 44
- 238000010586 diagram Methods 0.000 description 13
- 238000012545 processing Methods 0.000 description 9
- 239000012634 fragment Substances 0.000 description 4
- 235000010724 Wisteria floribunda Nutrition 0.000 description 3
- 230000004913 activation Effects 0.000 description 3
- 230000001186 cumulative effect Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000004043 responsiveness Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000007858 starting material Substances 0.000 description 1
Images
Landscapes
- Storage Device Security (AREA)
- Document Processing Apparatus (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
【0001】
【発明の属する技術分野】
この発明は、複数の文書ファイリングから、文書を取り出して、検索のためのインデクスを構築し、複数の文書ファイリングに存在する、複数の文書の属性や、URLなどで示される文書の位置を、一元的に管理し、検索可能な統合検索データベースに関し、とくに、文書ファイリングの個々のセキュリティドメインを考慮した管理・検索を行えるようにしたものである。
【0002】
【従来の技術】
従来、分散環境において、独立して管理され、開示される複数の文書ファイリングをまたがって、論理的に唯一のインデクスを構築し、インデクスに対して、一回の検索操作で、複数の文書ファイリングに存在する、複数の、文書の属性や、URLなどで示される文書の位置を、一元的に管理し、検索が可能なデータベースが構築されている。このような検索を統合検索と呼ぶ。
【0003】
統合検索のためのインデクス構築に際して、検索操作と独立して行われる収集操作によって、複数の文書ファイリングから、文書が収集される。収集操作は、収集対象とする文書ファイリングから、所定のアクセス権を有するユーザ、またはアプリケーションが、所定のネットワークプロトコルで、文書名を指定するか検索を行って、文書を特定し取得する。取得した文書を解析し、インデクス構築に必要な属性やキーワードを作成して、インデクスを構築する。
【0004】
なお、この発明と関連する特許文献には、複数のデータベースにそれぞれ格納されている文章データを解析し必要項目を抽出し抽出結果をインデクス化し、単一のインデクスで複数のデータベースにアクセスすることを開示するものや(特許文献1)、記憶装置に記憶されている複数のファイルの各々から所定の情報を取得するとともに権限情報も取得し所定の情報と権限情報とを用いてインデクスを構築してユーザの権限に応じた範囲でしか検索が行われないようにすることを開示するもの(特許文献2)がある。
【特許文献1】
特開2000−163445公報
【特許文献2】
特開2001−344245公報
【0005】
【発明が解決する課題】
ところで、統合検索は、インターネットのように、公開するかしないか、2者択一の環境で、広く用いられるが、これを企業内のネットワークで提供するには、以下に示す課題がある。
【0006】
一般に、企業内で公開される文書または文書ファイリングは、公開範囲を指定して、公開される。たとえば、「部外秘」の文書は、部門メンバーに限定的に公開されていると考えられるし、Webサーバなどは、部門ごとに設定されているネットワークドメインを利用して、接続可能なクライアントを限定することが行われている。
【0007】
特定の単位で収集された複数の文書が、同一の公開範囲を指定している場合、その文書は、同一のセキュリティ上のドメインに属している。文書ごとに定まる公開範囲をセキュリティドメインと呼ぶ。企業内では、複数のセキュリティドメインが存在し、収集対象とする文書は、いずれかのセキュリティドメインに属する。
【0008】
先に述べた統合検索を提供するためには、収集操作が必要であり、収集のためには、対象とする文書や文書ファイリングが属するセキュリティドメインのアクセス権が必要となる。すなわち、統合検索の対象とする、すべての文書や文書ファイリングに対する特権的なアクセス権を有するものが、収集操作を行う必要がある。
【0009】
しかし、通常は、企業内では、このような広い範囲の特権的なアクセス権をシステム管理者またはソフトウェアシステムに与えることはセキュリティ上問題がある(課題1)。
【0010】
さらに、論理的に唯一のインデクスを構築するため、文書ごとにセキュリティドメインを管理できるインデクスを構築する必要がある。そうしないと、本来アクセス権をもたないセキュリティドメインの文書が検索結果に含まれてしまうため、セキュアでない検索となる。
【0011】
加えて述べれば、検索をしたユーザのアクセス権と、文書ごとに定まる、セキュリティドメインの比較、判定をする必要があり、検索処理が複雑になるため、検索性能が下がる。企業内の統合検索では、100万乃至数千万の文書を検索対象とする場合があり、このような大規模な検索を、高速に行うのが困難となる。この場合は、利用者からみたレスポンスが低下する(課題2)。
【0012】
この発明は、以上の事情を考慮してなされたものであり、種々のセキュリティドメインの文書ファイリングにわたって統合検索を行う場合でも、セキュリティの問題を生じさせることなく、かつ、高速の検索が可能な検索・インデクス構築技術を提供することを目的としている。
【0013】
【課題を解決するための手段】
この発明によれば、上述の目的を達成するために、特許請求の範囲に記載のとおりの構成を採用している。ここでは、発明を詳細に説明するのに先だって、特許請求の範囲の記載について補充的に説明を行なっておく。
【0014】
上記に示した課題を解決するために、本発明の原理的な構成では、収集対象のセキュリティドメインごとに、該セキュリティドメインに所属する管理者か、または、アクセス権を有する管理者が文書を収集し、インデクスを構築する。具体的には、収集プログラムに、すべてのセキュリティドメインに有効な権限を与えるのではなく、それぞれのセキュリティドメインから収集するのに必要な権限を与えられた収集プログラムを、各々のセキュリティドメインにて稼動させる。
【0015】
すなわち、一つのセキュリティドメインに対して、一つのインデクスを対応付けるように構成する。これらインデクスは、データモデルが同一で、論理的には一つのインデクスで、その中がセキュリティドメインで分割されているという構成となる。
【0016】
このように構成した複数のインデクスは、特定のコンピュータシステム内に集中して、管理する構成と、セキュリティごとに管理部門を設け、分散的に配置する構成がある。
【0017】
いずれの構成においてもインデクスごとに定められた管理者は、特定のインデクスに対する限定された閲覧、更新、バックアップ、リストア操作を許すようにすることで、さきの課題1が解消する。
【0018】
次に、課題2について説明する。
【0019】
アクセス制御は、一般に、アクセス主体(サブジェクト)がアクセス対象(オブジェクト)に対するアクセス操作をもって、モデル化される。アクセス制御リストと呼ばれる方法は、アクセス対象ごとの属性として、アクセス主体と(その主体に許される)アクセス操作の組のリストを持つことで具現化される。主体の対象に対する操作は、対象ごとに付与されたアクセス制御リストを、走査または検索し、アクセス制御リストに、該主体と操作の組が含まれるかどうかを調べ、含まれていたら、アクセスが許される。
【0020】
本発明の原理的な構成では、アクセス対象は、セキュリティドメインごとに構築されたインデクスである。アクセス操作は、検索とする。アクセス主体は、検索を行うユーザである。アクセス制御リストは、インデクスの属性として、検索を許すユーザのリストで構成し、アクセス制御データベースで一元管理する。
【0021】
本発明の検索操作を実現する方法を説明する。
【0022】
検索を行うユーザが、セキュリティドメインに対して検索が許されるインデクスのリストを、アクセス制御データベースから検索する。インデクスを保持するコンピュータに対して、検索要求を発行し、検索処理を行い、検索結果を得る。複数のインデクスに対する検索結果は、複数のコンピュータから複数の検索結果を得る。所定のタイムアウト時間が経過するのを待ち、複数の検索結果を、併合して、統合した検索結果を構成する。
【0023】
この発明では、一つのインデクスに格納されている文書は、同一のセキュリティドメインに属する文書であるため、該セキュリティドメインにアクセス可能なユーザからの検索要求に対しては、個別の文書ごとにアクセス権のチェックを行う必要がない。一方、統合された検索結果を構成するには、併合の必要があり、その分の処理コストが必要となる。
【0024】
一般には、収集された総文書数に対して、検索を行うユーザがアクセス可能なセキュリティドメインに属する文書が、少ない場合は、個別にアクセス権のチェックを行う必要がある文書数は、インデクスの単位で枝狩りされた結果、少なくなるため、併合のコストを勘案しても、短い時間で検索処理ができる。
【0025】
たとえばアクセス可能な文書が半分以下の場合、すべての文書に対してアクセス権を調べるコストに対して、検索結果を併合するコストは、少ないことが期待できる。
【0026】
次に本発明の他の原理的な構成について説明する。
【0027】
検索したユーザに対して、得られた検索結果をすべて表示するのではなく、所定のランキング計算を行った結果として得られる、ランキングスコアの大きい文書について、所定の表示上限件数に限定して、表示を行うことを考える。
【0028】
ユーザからみて、検索結果に、不当に低いランキングスコアの文書が含まれないようにするために、表示上限件数に対して、所定の倍率をかけた値を要求件数とし、要求件数だけ、検索結果を取り出し、ランキング計算を行い、降順にソートを行い、上位から表示上限件数だけ取り出して表示を行うものとする。
【0029】
セキュリティドメインごとに定まるインデクスに対して、検索要求を出す際に、要求件数を指定し、検索結果は、表示上限件数の検索結果と、ヒット件数を返すように構成する。
【0030】
複数のインデクスからの検索結果を併合する際に、いずれか一つのインデクスからの検索結果が、要求件数以上のヒット件数である場合には、該インデクスからの検索結果を、(他のインデクスからの検索結果と併合せずに)統合検索結果として採用する。
【0031】
該インデクスからの検索結果が、要求件数に満たない場合は、それ以外のインデクスの検索結果を、要求件数に達するまで併合し、ランキングスコアで降順にソートを行い、上位から表示件数だけ取り出して表示を行う。
【0032】
すべてのインデクスの検索結果を併合しても、要求件数に満たない場合は、すべてのインデクスの検索結果を併合してランキングスコアで降順にソートを行い、上位から表示件数だけ取り出して表示を行う。
【0033】
以上のように、構成することで、統合後の検索結果が要求件数に対して、多い場合、特に、一つのインデクスからの検索結果が要求件数に対して多い場合は、併合の処理を減らすか、行わないので、処理時間が短くなる。
【0034】
本発明の更に他の原理的な構成では、複数のインデクスを用いて検索を行う検索装置において、各インデクスから取得した、スコアを含むヒットレコードをスコアに基づいて各インデクスごとにソートし、ソートした上記スコアを含むヒットレコードを所定の規則で連結し、連結した上記スコアを含むヒットレコードをスコアに基づいて再度ソートし、再度ソートした後のヒットレコードの上位の所定数を検索結果として出力するようにしている。
【0035】
この構成においては、インデクスごとにスコアを計算しソートを行うので、複数のインデクスに対して分散処理が可能であり、応答性を高め、スケーラビリティを確保することができる。また、インデクスごとにソートしたヒットレコードを連結する際に、インデクスごとのヒットレコードの処理対象上限値を定めておけば、不必要なヒットレコードをヒットレコード連結部に送る必要がなくなり、例えば通信コストを低減することが可能となる。
【0036】
なお、この発明は装置またはシステムとして実現できるのみでなく、方法としても実現可能である。また、そのような発明の一部をソフトウェアとして構成することができることはもちろんである。またそのようなソフトウェアをコンピュータに実行させるために用いるソフトウェア製品もこの発明の技術的な範囲に含まれることも当然である。
【0037】
この発明の上述の側面およびこの発明の他の側面は特許請求の範囲に記載され、以下実施例を用いて詳細に説明される。
【0038】
【発明の実施の形態】
以下、この発明の実施例について説明する。
【0039】
[実施例1]
実施例1は複数のインデクスを用いアクセス権限に応じて検索を制御するものである。
【0040】
図1は、実施例1の検索装置を模式的に示しており、この図において、検索装置は、検索部10、アクセス制御部11、ユーザ権限記憶部12およびインデクス記憶装置13を含んで構成されている。インデクス記憶装置13は、複数のインデクス(便宜上A〜Nを付す)14を記憶している。複数のインデクス14はそれぞれ異なるレベルのアクセス権限が付与されている。もちろん、同一のアクセス権限が複数のインデクス14に付与され、同一のアクセス権限のグループとして管理されても良い。1つのインデクス記憶装置13にすべてのインデクス14を記憶するのでなく、複数のインデクス記憶装置13を設け、分散させて記憶するようにしても良い。この実施例の検索装置には検索ユーザ端末15から検索要求が送られ、検索結果が検索ユーザ端末15に返される。
【0041】
インデクス記憶装置13のインデクス14は、後述するインデクス構築装置(図2)により構築・管理される。
【0042】
この実施例において、検索ユーザ端末15から検索要求がなされると、検索部10はアクセス制御部11に検索ユーザのユーザID等を供給し、アクセス制御部11は、ユーザ権限記憶部12を参照して検索ユーザのアクセス権限を返す。アクセス制御部11は、例えば、アクセス権限とそれに対応するインデクスとの関係を規定した表を表引きして、検索ユーザのアクセス権限で参照可能なインデクス14の識別子(複数の場合もある)を検索部10に返す。検索部10は、参照可能なインデクス14の識別子に基づいて許容されるインデクス14を参照してヒットしたレコードを取りだし、検索ユーザ端末15に返す。ヒットしたレコードを、ランキングスコアに基づいて整理し、所定の表示数のレコードのみ検索ユーザ端末15に返すようにしてもよい。
【0043】
この例では、インデクス14を参照してヒットしたレコードは、すべてアクセス可能なものであり、ヒットしたレコードについて個々にユーザのアクセス権限を検証する必要がない。
【0044】
なお、検索ユーザが指定したインデクス14あるいはすべてのインデクス14に対して検索部10が参照要求を行い、アクセス制御部11が、ユーザ権限記憶部12のユーザのアクセス権限を参照して参照の許否を行うようにしても良い。
【0045】
つぎにこの実施例のインデクス構築装置について説明する。
【0046】
図2は、この実施例のインデクス構築装置を模式的に示しており、この図において、インデクス構築装置は、プロセス起動部20、インデクスレコード管理部21、アクセス制御部23、プロセス権限記憶部24を含んで構成されている。プロセス起動部20は、予めアクセス権限が設定されている。プロセス起動部20は、インデクスレコード管理部21のインデクスレコード管理プロセス22を起動し、プロセス起動部20のプロセスを付与する。ユーザあるいは管理者がインデクスレコード管理部21のインデクスレコード管理プロセス22を起動し、そのアクセス権限を付与するようにしても良い。起動されたインデクスレコード管理プロセス22は、文書を保持する文書ファイリングシステム103(図3参照)にアクセスし、自らのアクセス権限で許容される文書を参照してインデクスレコードを生成する。文書ファイリングシステム103の文書へのアクセスはアクセス制御部23およびプロセス権限記憶部24により制御される。こうしてインデクスレコード管理プロセス22は、自らのアクセス権限に対応する(同等以下の)セキュリティドメインの文書のインデクスレコードを生成して、インデクス記憶装置13中の対応するアクセス権限のインデクス14を構築したり、修正(挿入・削除)したりする。このインデクス14の構築・修正の処理についてもアクセス制御部23およびプロセス権限記憶部24により制御される。
【0047】
このようにしてアクセス権限ごとにインデクス14が構築・管理される。
【0048】
図3は、実施例1の検索装置およびインデクス構築装置をイントラネット環境で実現した構成例を示す。図3において、検索システム100、複数のインデクス構築システム102、複数の文書ファイリングシステム103、ディレクトリサーバ104、ウェブサーバ105、アプリケーションサーバ106、クライアント端末120等が、LAN108に配置されている。またLAN108にはルータ107、ネットワーク121を介してクライアント端末120が接続されている。
【0049】
検索システム100はインデクス保持部101を有し、複数のインデクス(図1のインデクス14)を参照できる。
【0050】
検索システム100、インデクス構築システム102はそれぞれ記憶媒体109、110、あるいはネットワーク121を用いてインストールされる。
【0051】
文書ファイリングシステム103は全体として単一のアクセス権限が付与されていても良いし(例えば103A)、文書ファイリングシステム103の個々の文書あるいはディレクトリにアクセス権限が個別に付与されても良い。文書ファイリングシステム103Aとインデクス構築システム102Aは例えば同一のアクセス権限を有し、対応するセキュリティドメイン200をなす。他のファイリングシステム103は種々のアクセス権限の文書等を含み、それぞれ、アクセス権限に対応するインデクス構築システム102によりインデクスレコードを生成できるようになっている。
【0052】
インデクス構築システム102は対応するアクセス権限で各文書ファイリングシステム103の文書をアクセスしていき、文書ファイリングシステム103はディレクトリサーバ104を用いて権限を認証し、アクセスの許否を決定する。インデクス構築システム102は、対応するアクセス権限の文書を参照してインデクスレコードを生成して、インデクス保持部101の対応するインデクス14を構築し、あるいは対応するインデクスにレコードを挿入する。また、必要に応じ、インデクスのレコードの削除等の処理を行う。
【0053】
このようにして、インデクス保持部101にアクセス権限ごとにインデクス14が構築されその後管理される。
【0054】
検索ユーザはクライアント端末120を用いてウェブサーバ105およびアプリケーションサーバ106(あるいはCGIプログラム等を用いて)を介して検索システム100に検索要求を行う。検索システム100は、ディレクトリサーバ104を用いて検索ユーザのアクセス権限を調べ、これに応じて対応するインデクス14を参照して検索ユーザに許容されるヒットレコードのみをリストとしてクライアント端末120に返す。検索ユーザは、リストから選択した文書を所定の文書ファイリングシステム103から取り出すことができる。
【0055】
なお、インデクス保持部101をインデクス構築システム102サイトに分散して配置し、検索システム100がこれを参照するようにしても良い。また、インデクス構築システム102サイトに検索システム100およびインデクス保持部101を分散配置してもよい。この場合、クライアント端末120の検索要求を代行して分散配置された複数の検索システム100にディスパッチする。
【0056】
[実施例2]
つぎにこの発明の実施例2について説明する。この実施例は複数のインデクスを用いた場合でも、ランキングスコアの小さなヒットレコードが表示リストに含まれないようにするものである。
【0057】
図4は、この実施例の検索装置を模式的に示しており、この図において、検索部10は、インデクス別ヒットレコード数生成部30、インデクス選択部31、ヒットレコード併合部32、ヒットレコード一時記憶部33、表示レコード出力部34等を含んで構成されている。
【0058】
検索ユーザ端末15は、検索部10に検索要求を送る。検索要求には検索キーと共に表示レコードの数を含ませることができる。インデクス別ヒットレコード数生成部30は、検索キーに対してインデクス14ごとにヒットレコード数を算出する。これについては後に説明する。インデクス選択部31は、指定された表示レコード数あるいはデフォルトの表示レコード数に基づいてインデクス記憶装置13から取り出すヒットレコード数を決定する。これを閾値と呼ぶ。閾値は、表示レコード数のN倍である(Nは十分に精度の良い結果を得られるように決められる)。インデクス選択部31は、最も少ないインデクス数で閾値のヒットレコードを得られるようにインデクスを選択する。種々の態様が可能であるが、例えば、ヒットレコード数が多い順にインデクスを選び、それで閾値に達したら、そのインデクスのみを選ぶ。ヒットレコード数が閾値に達しない場合には、つぎにヒットレコード数が多いインデクスを選び、そのヒットレコード数を、現在のヒットレコード数の総数に累積する。累積値が閾値に達するまで、同様の処理を繰り返し、用いる1または複数のインデクスを確定する。
【0059】
用いるインデクスが複数の場合にはヒットレコードをヒットレコード併合部32で併合し、ヒットレコード一時記憶部33にストアする。用いるインデクスが一個の場合にはヒットレコードをそのままヒットレコード一時記憶部33にストアする。
【0060】
ヒットレコード一時記憶部33のヒットレコードはそこの含まれるランキングスコアに基づいてソートされ、ソート順に表示レコード出力部34に送られる。表示レコード出力部34の出力表示レコードリストは検索ユーザ端末15に返される。
【0061】
こうして、ヒットレコードの併合処理の回数を少なくすることができる。
【0062】
つぎに、インデクス別ヒットレコード数生成部30で行うヒットレコード数算出処理について説明する。もちろん、キーごとにヒットレコード数を予め求めて表を作成し、このような表を表引きしても良い。
【0063】
インデクス記憶装置13のインデクス14は、例えば、図5に示すように、管理ノード、中間ノードおよびリーフノードにより記述されるB+ツリー構造である。管理ノードは、図6に示すように、複数のB+ツリーを管理する。各B+ツリーはスキーマによりキー、バリュー等のバイト数等が規定される。管理ノードにより、検索キーが対応するB+ツリーに振り分けられる。中間ノードは、図7に示すように、分岐を制御するキーと分岐する下位ノード(サブツリー)が規定される。また、この実施例に特有の構成として、各下位ノードについてそのサブツリーのリーフノードに属するレコードの数を件数管理情報として保持している。リーフノードは図8に示すようにキーとバリュー(例えば文書ID)との複数の対を含んでいる。リーフノードは、中間ノードにおいて分岐を制御するキーについても、そのキーとバリューとの対を含んでいる。また、つぎのリーフノードへのポインタも含まれ、いわゆる水平検索を行える。
【0064】
検索に際しては、図9に示すように、管理ノードによりB+ツリーが決定され、そのルートノードから中間ノードを沿って垂直検索が行われ、リーフノードに当直した後、水平検索が行われる。
【0065】
ここで、図10を用いて、中間ノードの件数管理情報について説明する。図10において、中間ノードは、第1段目の中間ノード(管理ノードのつぎのノード)を例にすると、キー「LEFT」、K(0)1、K(0)2、K(0)3、・・・により下位ノード(サブツリー)に分岐する。キー「LEFT」の直下にはレコードは格納されない。「K(0)」は第1段目のキーであることを示す。第n段目の中間ノードのキーは同様に「K(n−1)」で表す。「LEFT」からK(0)1までの範囲のキーが分岐する下位ノード(サブツリー)のリーフノードに格納されるレコードの数R(0)1を、下位ノード0の件数管理情報にストアする。K(0)1からK(0)2までの範囲のキーが分岐する下位ノード(サブツリー)のリーフノードに格納されるレコードの数r(0)1を求め、これにその前の下位ノードのレコードの数(この場合R0)を足して、R(0)1=R(0)1+r(0)1を得、下位ノード1の件数管理情報に格納する。キーK(0)NからキーK(0)N+1までの範囲のキーが分岐する下位ノードNのリーフノードに格納されるレコードr(0)Nを求め、これにその直前の下位ノードN−1の件数管理情報(R(0)N−1)を足して、下位ノードNの件数管理情報R(0)N=R(0)N−1+r(0)Nを得る。同様に最後の下位ノードまで、件数管理情報を取得して管理する。
【0066】
開始キーおよび終了キーを用いて検索するときに、中間ノードの件数管理情報を用いてリーフノードに到達した時点の順位を求めることができる。すなわち、順次辿っていく中間ノードにおいて、つぎに辿る下位の中間ノードを決定する。このとき、その左側の中間ノードの件数管理情報を求める。つぎに辿る中間ノードでも同様にし、この操作をリーフノードに至るまで繰り返す。例えば、第1段から第N段のそれぞれのキーK(0)A、K(1)B、K(2)C、・・・、K(N−1)Dを辿っていくとすると、中間ノード0のキー(下位のノードまたはサブツリー。以下同様)K(0)A−1の件数管理情報R(0)A−1、中間ノード1のキーK(1)B−1の件数管理情報R(1)B−1、中間ノード2のキーK(2)C−1の件数管理情報R(2)C−1、・・・中間ノード(N−1)のキーK(N−1)D−1の件数管理情報R(N−1)D−1を累積してリーフノードに到達したときレコードの順位を得ることができる。
【0067】
まず、開始キーを基づいて中間ノードを辿り、対応する件数管理情報を累積してリーフノードに到達したときのレコードの順位を求め、さらにリーフノードを水平検索する。開始キーを含むレコードに到達したときにそのレコードに至るまでの水平検索時のレコード数を求め、これをリーフノードに到達したときのレコードの順位に足して開始キーを含むレコード(開始キーを含むレコードがない場合には、検索範囲に含まれて開始キーに最も近いキーを含むレコード)の順位(Nstart)を求める。
【0068】
つぎに、終了キーに基づいて中間ノードを辿り、対応する件数管理情報を累積してリーフノードに到達したときのレコードの順位を求め、さらにリーフノードを水平検索する。終了キーを含むレコードに到達したときにそのレコードに至るまでの水平検索時のレコード数を求め、これをリーフノードに到達したときのレコードの順位に足して終了キーを含むレコード(開始キーを含むレコードがない場合には、検索範囲に含まれて開始キーに最も近いキーを含むレコード)の順位(Nend)を求める。
【0069】
インデクス別ヒットレコード数生成部30は、NstartおよびNendに基づいて検索範囲に含まれるキーを持つレコードの総数を算出する。終了キーを含むレコードが有る場合には、そのレコードの総数はNend−Nstart+1であり、終了キーを含むレコードがない場合には、そのレコードの総数はNend−Nstartである。
【0070】
図11は、インデクス別ヒットレコード数生成部30における各インデクスごとのヒットレコード数算出処理を示している。図11においては、語および文書IDを用いて範囲検索における検索範囲のレコード(文書)の総数を算出する。総数の算出の処理は以下のとおりである。なお、検索者が語を入力すると、文書IDの範囲が自動的に0x3000(16進数表示)から0x3fffとされる。
【0071】
[ステップS10]:検索範囲を受け取る。
[ステップS11]:B+ツリーを決定する。
[ステップS12]:開始キーを検索キーとする。
[ステップS13]:検索キーが該当するキーを、選択する
[ステップS14]:順位算出ルーチンを実施する。図9参照。
[ステップS15]:順位算出ルーチンで取得した順位をNstartとする。
[ステップS16]:終了キーを検索キーとする。
[ステップS17]:順位算出ルーチンを実施する。
[ステップS18]:順位算出ルーチンで取得した順位をNendとする。
[ステップS19]:終了キーに該当するレコードがあるか。あればステップS20ヘ進み、なければステップS21へ進む。
[ステップS20]:検索範囲の件数をNend−Nstart+1で算出する。
[ステップS21]:検索範囲の件数をNend−Nstartで算出する。
【0072】
順位算出ルーチンはつぎのとおりである。
【0073】
[ステップS40]:順位を0にリセットする。
[ステップS41]:中間ノードにおいて検索キーが該当するキーの左のキーの件数管理情報を順位に累積する。
[ステップS42]:検索キーが該当するキーの下位のノードに進む。
[ステップS43]:ノードが中間ノードかリーフノードかを判別する。中間ノードであれば、ステップS41に戻る。リーフノードであればステップS44に進む。
[ステップS44]:リーフノードに到達したときのレコードから検索キーに対応するキーのレコードまで水平検索で辿る。
[ステップS45]:水平検索で辿ったレコードの数を上述の順位に累積する。
【0074】
以上で実施例2の説明を終了する。
【0075】
[実施例3]
つぎにこの発明の実施例3について説明する。この実施例は、インデクスを用いた検索処理を行う検索装置本体と検索装置本体の検索結果を連結等する検索管理装置とをネットワークを介して接続して検索システムを構築するものである。
【0076】
図13は、実施例3の検索システムを全体として示しており、図13において図3と対応する箇所には対応する符号を付した。図13において、検索システム100は、検索管理サーバ300と複数の検索サーバ301とを有して構成されている。検索サーバ301はそれぞれ対応するインデクス保持部302を有し、例えばこのインデクス保持部302に格納されているB+ツリーの情報(実施例1、2と同様)を用いて検索を行う。検索管理サーバ300は、クライアント120からの検索要求を受取り、アクセス制御等を行うとともに、検索要求に対して許容された検索サーバ301に検索要求をディスパッチする。検索管理サーバ300は、検索要求をディスパッチした検索サーバ301から検索結果を受取り、出力上限値(例えばユーザが指定したもの。あるいはシステム上のデフォルト値)だけヒットレコードを取り出して検索結果としてクライアント端末120に返す。
【0077】
図14は、実施例3の検索システム100における処理を示しており、その詳細は以下のとおりである。なお、これらの処理は検索管理サーバ300および検索サーバ301で実行されるものであり、例えば記録媒体303、304に記憶されたプログラムを検索管理サーバ300や検索サーバ301にインストールして実現できる。
【0078】
[ステップS50]:各検索サーバ301でインデクス保持部302のインデクスを用いて検索を行う。なお、各検索サーバ301は、出力制限値(ユーザに出力するレコードの数の上限)の例えば10倍のレコード数を上限としてレコードを取り出す(上限値を超えたら検索を終了する)。このレコードは例えば図15に示すようなキーとバリューとを含むものであり、キーは語キー(キーワード等の文書の属性)および文書IDからなる。バリューは各レコードの検索スコアを算出するためのオカレンスデータであり、例えば、更新時刻、出現頻度、出現分布のデータからなる。オカレンスデータからスコアを計算し、このスコアに基づいてヒットレコードをソートする。
【0079】
[ステップS51]:検索管理サーバ300は、検索サーバ301からソート済みのヒットレコードを受け取る。受け取るレコードはスコアを直接に含み、オカレンスデータは基本的には不要である。
[ステップS52]:ソート済みのヒットレコード数が多い順に、検索サーバ301からのヒットレコードを連結する。
[ステップS53]:連結したヒットレコードの総数が累積上限値、例えば、出力上限値の10倍に達したかどうかを判別する。累積上限値に達しない場合にはステップS52に戻り処理を繰り返す。達した場合にはステップS54へ進む。
[ステップS54]:連結したヒットレコードをスコアで再度ソートする。
「ステップD55]:出力上限値だけ上位からヒットレコードを出力する。
【0080】
各レコードのスコアは例えばつぎのように算出される。
【数1】
{A1×(出現密度)+A2×(更新日−基準日)}×(出現分布情報で決定される値。例えば1〜2の値)
A1、A2は係数である。
【0081】
出現密度は、キーワードが文書中に含まれる割合であり、例えば、定数×出現数/文書サイズで求められる。出現密度が大きいほどスコアが大きくなる。
【0082】
更新日は文書を更新した日付であり、原則として基準時は検索を行っている日付に「2048」(約4年)を足したものである。「日付」は例えば0〜32767の整数値であり、およそ、1970年1月1日から2038年1月19日をカバーする。1日は1.3に相当する。通常、更新日は数カ月から数年程度前の日付である。更新日をそのまま用いると、約30年分使用しない期間ができてしまうので、ダイナミックレンジが小さくなってしまう。そのため検索実行日から4年前(約2048)を基準日としている(更新日−基準日=更新日−検索実行日+2048)。更新日が新しいほどスコアは大きくなる。
【0083】
出現分布情報は、文書中の文の列に語キーがどのように分布するかを示すものであり、文の列を32ビットであらわし、当該文の位置に語キーが出現すれば「1」を立てる。文の数だけビットを設ければより性格であるが、この例では、語キーが出現する文の番号の32の剰余が示すビット位置に「1」を立てている。複数の語キーを用いたときに32ビットの出現分布情報のANDをとり、同一文中に当該複数の語キーが共起するかどうかを表す。AND結果の32ビットの各値を評価すればより正確であるが、8ビットずつに4つのフラグメントに分け、1つのフラグメント中に「1」があれば25%ずつ増分する。4つのフラグメントのすべてに「1」があれば2倍となり、すべてのフラグメントに「1」がなければ1倍のままである。
【0084】
また、スコアが同一の値にならないように、スコアに文書サイズの下位数ビットを連結する。
【0085】
図16は、スコア計算の一例を示している。この例では、「コピー」と「富士ゼロックス株式会社」(「富士ゼロックス」は商標である)のOR検索を行って、文書A、B、Cがヒットした例である。検索日は「2002年8月1日」である。
【0086】
文書Aのスコアはつぎのとおりである。すなわち、実際の出現密度の和が「0x09+0x13=0x1C」(0xは16進を表す)であり、文書サイズと合わせて「0x1CB8」である。更新日の寄与を合わせて、「0x3CB8」となり、出現分布で1.75倍になり、「0x6A47=27207」がスコアとなる。
【0087】
文書Bのスコアはつぎのとおりである。出現密度と文書サイズから同様に「0x1F40」となる。「富士ゼロックス株式会社」からのオカレンスからは得られないので、デフォルト値の「0x1800」が用いられ、合わせて「0x3740」となり、出現分布により2倍され、「0x6E80=28288」がスコアとなる。
【0088】
文書Cのスコアはつぎのとおりである。実際の出現密度の和が「0x1D+0x00=0x1D」であり、文書サイズと合わせて「0x1D80」である。更新日の寄与を合わせて「0x17E3」となる。出現分布により2倍され、「0x2FC6=12230」がスコアとなる。
【0089】
以上の結果、文書B、A、Cの順にソートされる。
【0090】
以上で実施例3の説明を終了する。この実施例によれば、スコア計算やソートを分散させて実行するため、応答性を高くでき、スケーラビリティもある。また、所定の上限値を超えるヒットレコードは検索管理サーバへ送らないので、通信コストが減少する。
【0091】
なお、図13では、検索管理サーバと検索サーバとを別々に構成し、ネットワーク(LANやWAN)で接続したが、図3に示すように、検索管理サーバの機能と検索サーバの機能を一体化した場合にも、インデクスごとにスコアでソートを行い、これを連結し、その後、再度スコアでソートして検索結果とすることもできることはもちろんである。
【0092】
なお、この発明は上述の実施例に限定されるものではなくその趣旨を逸脱しない範囲で種々変更が可能である。例えば、実施例2の検索装置を図4に示すイントラネット環境に適用できることはもちろんであり、その際記録媒体等を用いて同様のシステムをコンピュータシステムにインストールして構築することもできる。
【0093】
【発明の効果】
以上説明したように、この発明によれば、アクセス権限に配慮して統合検索のインデクスを構築することができ、また、ヒットレコードごとにアクセス権限を検証することを回避し、高速に検索を行うことができる。また複数のインデクスを用いた場合でも、ヒットレコードの併合回数を減らし、高速に検索を行える。
【図面の簡単な説明】
【図1】この発明の実施例1の検索装置を模式的に示すブロック図である。
【図2】上述の実施例1のインデクス構築装置を模式的に示すブロック図である。
【図3】上述の実施例1をイントラネット環境に適用した構成例を説明する図である。
【図4】この発明の実施例2の検索装置を模式的に示すブロック図である。
【図5】上述実施例2のインデクス別ヒットレコード数生成部における各インデクスのヒットレコード算出処理を説明するための、B+ツリー構造の説明図である。
【図6】図5のB+ツリー構造の管理ノードを説明する図である。
【図7】図5のB+ツリー構造の中間ノードを説明する図である。
【図8】図5のB+ツリー構造のリーフノードを説明する図である。
【図9】図5のB+ツリー構造の検索を説明する図である。
【図10】図5のB+ツリー構造に含まれる件数管理情報を説明する図である。
【図11】図5のB+ツリー構造を用いてインデクスのヒットレコードを算出する処理を説明するフローチャートである。
【図12】図11の順位算出ルーチンを説明するフローチャートである。
【図13】この発明の実施例3の構成を説明する図である。
【図14】上述実施例3の動作を説明するフローチャートである。
【図15】上述実施例3におけるレコードのフォーマットを説明する図である。
【図16】上述実施例のスコア計算の例を説明する図である。
【符号の説明】
10 検索部
11 アクセス制御部
12 ユーザ権限記憶部
13 インデクス記憶装置
14 インデクス
15 検索ユーザ端末
20 プロセス起動部
21 インデクスレコード管理部
22 インデクスレコード管理プロセス
23 アクセス制御部
24 プロセス権限記憶部
30 インデクス別ヒットレコード数生成部
31 インデクス選択部
32 ヒットレコード併合部
33 ヒットレコード一時記憶部
34 表示レコード出力部
100 検索システム
101 インデクス保持部
102 インデクス構築システム
103 文書ファイリングシステム
104 ディレクトリサーバ
105 ウェブサーバ
106 アプリケーションサーバ
107 ルータ
108 LAN
109、110 記憶媒体
120 クライアント端末
121 ネットワーク
200 セキュリティドメイン
300 検索管理サーバ
301 検索サーバ
302 インデクス保持部[0001]
TECHNICAL FIELD OF THE INVENTION
According to the present invention, a document is extracted from a plurality of document filings, an index for search is constructed, and attributes of a plurality of documents existing in the plurality of document filings and positions of documents indicated by URLs are unified. An integrated search database that can be managed and searched in a specific way can be managed and searched, especially considering individual security domains of document filing.
[0002]
[Prior art]
Conventionally, in a distributed environment, a logically unique index is built across multiple document filings that are independently managed and disclosed, and a single search operation can be performed on the index to multiple document filings. A database has been constructed in which a plurality of existing document attributes, document positions indicated by URLs and the like can be centrally managed and searched. Such a search is called an integrated search.
[0003]
When constructing an index for an integrated search, documents are collected from a plurality of document filings by a collection operation performed independently of the search operation. In the collection operation, a user or an application having a predetermined access right specifies or obtains a document from a document filing to be collected by specifying or searching for a document name using a predetermined network protocol. Analyze the acquired documents, create the attributes and keywords required for index building, and build the index.
[0004]
The patent document related to the present invention discloses that sentence data stored in each of a plurality of databases is analyzed, necessary items are extracted, the extraction result is indexed, and a plurality of databases are accessed with a single index. By obtaining predetermined information from each of a plurality of files to be disclosed and a plurality of files stored in a storage device and obtaining authority information, an index is constructed using the predetermined information and the authority information. There is a technology that discloses that a search is performed only within a range according to the authority of a user (Patent Document 2).
[Patent Document 1]
JP 2000-163445 A
[Patent Document 2]
JP 2001-344245 A
[0005]
[Problems to be solved by the invention]
By the way, the integrated search is widely used in an environment where the search is made public or not, as in the Internet, but there are the following problems to provide this through an in-house network.
[0006]
Generally, documents or document filings that are made public within a company are made public by designating the scope of disclosure. For example, a document "confidential" is considered to be open to limited members of the department, and a Web server or the like uses a network domain set for each department to identify clients that can connect. Limitations have been made.
[0007]
If multiple documents collected in a specific unit specify the same disclosure range, the documents belong to the same security domain. The disclosure range determined for each document is called a security domain. In a company, a plurality of security domains exist, and documents to be collected belong to any one of the security domains.
[0008]
In order to provide the above-mentioned integrated search, a collection operation is required, and for collection, an access right of a target document or a security domain to which the document filing belongs is required. In other words, those who have a privileged access right to all documents and document filings to be subjected to the integrated search need to perform the collection operation.
[0009]
However, usually, in a company, giving such a wide range of privileged access rights to a system administrator or a software system has a security problem (Issue 1).
[0010]
Furthermore, in order to construct a logically unique index, it is necessary to construct an index capable of managing a security domain for each document. Otherwise, documents in a security domain that originally do not have access rights will be included in the search results, resulting in an insecure search.
[0011]
In addition, it is necessary to compare and determine the access right of the searched user and the security domain determined for each document, and the search processing becomes complicated, so that the search performance is reduced. In an integrated search within a company, there may be cases in which one to tens of millions of documents are to be searched, and it is difficult to perform such a large-scale search at high speed. In this case, the response as seen from the user decreases (Problem 2).
[0012]
The present invention has been made in view of the above circumstances, and even when performing an integrated search over document filings in various security domains, a search that can perform a high-speed search without causing a security problem. -It aims to provide index construction technology.
[0013]
[Means for Solving the Problems]
According to the present invention, in order to achieve the above object, a configuration as described in the claims is adopted. Here, before describing the invention in detail, the description of the claims will be supplementarily described.
[0014]
In order to solve the problems described above, in the basic configuration of the present invention, for each security domain to be collected, an administrator belonging to the security domain or an administrator having access right collects documents. And build an index. Specifically, instead of granting effective rights to all security domains to the collection program, run the collection program in each security domain that has the necessary authority to collect from each security domain Let it.
[0015]
That is, one index is associated with one security domain. These indexes have the same data model, and are logically one index, which is divided by a security domain.
[0016]
The plurality of indexes configured as described above are classified into a configuration in which the indexes are managed in a specific computer system and a configuration in which a management section is provided for each security and distributed.
[0017]
In any of the configurations, the administrator defined for each index is allowed to perform limited browsing, updating, backup, and restoration operations on a specific index, thereby solving the first problem.
[0018]
Next, the
[0019]
In general, access control is modeled by an access subject (subject) having an access operation to an access target (object). A method called an access control list is embodied by having a list of a set of an access subject and an access operation (permitted by the subject) as an attribute for each access target. The operation of the subject on the object is performed by scanning or searching the access control list assigned to each object, checking whether or not the access control list includes the set of the subject and the operation. If the access control list is included, the access is permitted. It is.
[0020]
In the principle configuration of the present invention, the access target is an index constructed for each security domain. The access operation is a search. The access subject is a user who performs a search. The access control list is composed of a list of users permitted to search as an index attribute, and is centrally managed by an access control database.
[0021]
A method for implementing the search operation of the present invention will be described.
[0022]
The user performing the search searches the access control database for a list of indexes that can be searched for the security domain. A search request is issued to the computer holding the index, a search process is performed, and a search result is obtained. As for search results for a plurality of indexes, a plurality of search results are obtained from a plurality of computers. After a predetermined timeout period has elapsed, a plurality of search results are merged to form an integrated search result.
[0023]
According to the present invention, the documents stored in one index belong to the same security domain, and therefore, in response to a search request from a user who can access the security domain, an access right is set for each individual document. There is no need to check. On the other hand, in order to form an integrated search result, it is necessary to perform merging, which requires a corresponding processing cost.
[0024]
In general, if the number of documents belonging to the security domain accessible to the user performing the search is small relative to the total number of collected documents, the number of documents that need to be individually checked for access rights is determined by the index unit. As a result, the search processing can be performed in a short time even if the cost of merging is considered.
[0025]
For example, if the number of accessible documents is less than half, the cost of merging the search results can be expected to be less than the cost of checking the access rights for all documents.
[0026]
Next, another principle configuration of the present invention will be described.
[0027]
For the searched user, instead of displaying all the obtained search results, only documents with a large ranking score, which are obtained as a result of performing a predetermined ranking calculation, are limited to a predetermined display upper limit number and displayed. Think about doing.
[0028]
In order to prevent the search results from including documents with an unduly low ranking score from the user's point of view, a value obtained by multiplying the display upper limit number by a predetermined ratio is set as the requested number, and only the requested number is searched. Are taken out, ranking calculation is performed, sorting is performed in descending order, and display is performed by taking out only the display upper limit number from the upper rank.
[0029]
When a search request is issued for an index determined for each security domain, the number of requests is specified, and the search result is configured to return the search result of the display upper limit number and the number of hits.
[0030]
When the search results from a plurality of indexes are merged, if the search results from any one index are equal to or more than the number of requests, the search results from the index are changed to (the number of hits from other indexes). Adopt as an integrated search result (without combining with the search result).
[0031]
If the search result from the index is less than the number of requests, the search results of other indexes are merged until the number of requests is reached, sorted in descending order by ranking score, and only the number of displayed items is taken out from the top and displayed I do.
[0032]
If the number of search results for all indexes is less than the requested number even when the search results are merged, the search results for all indexes are merged and sorted by ranking score in descending order.
[0033]
As described above, if the number of search results after integration is large relative to the number of requests, especially if the number of search results from one index is large relative to the number of requests, reduce the merge processing. , The processing time is shortened.
[0034]
In still another basic configuration of the present invention, in a search device that performs a search using a plurality of indexes, a hit record including a score obtained from each index is sorted for each index based on the score, and sorted. The hit records including the score are linked according to a predetermined rule, the hit records including the linked score are re-sorted based on the score, and a predetermined number of hit records after the re-sorting are output as search results. I have to.
[0035]
In this configuration, since the score is calculated and sorted for each index, distributed processing can be performed for a plurality of indexes, responsiveness can be improved, and scalability can be secured. In addition, when linking hit records sorted for each index, if the processing target upper limit value of the hit record for each index is determined, unnecessary hit records do not need to be sent to the hit record linking unit. Can be reduced.
[0036]
The present invention can be realized not only as a device or a system but also as a method. In addition, it goes without saying that a part of such an invention can be configured as software. Also, it goes without saying that a software product used for causing a computer to execute such software is also included in the technical scope of the present invention.
[0037]
The above aspects of the present invention and other aspects of the present invention are set forth in the following claims, and will be described in detail below with reference to embodiments.
[0038]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described.
[0039]
[Example 1]
In the first embodiment, a search is controlled using a plurality of indexes according to the access authority.
[0040]
FIG. 1 schematically illustrates a search device according to the first embodiment. In FIG. 1, the search device includes a
[0041]
The
[0042]
In this embodiment, when a search request is made from the
[0043]
In this example, all records hit by referring to the
[0044]
The
[0045]
Next, the index construction apparatus of this embodiment will be described.
[0046]
FIG. 2 schematically shows an index construction apparatus of this embodiment. In this figure, the index construction apparatus includes a
[0047]
In this way, the
[0048]
FIG. 3 illustrates a configuration example in which the search device and the index construction device according to the first embodiment are implemented in an intranet environment. 3, a
[0049]
The
[0050]
The
[0051]
The
[0052]
The
[0053]
In this way, the
[0054]
The search user uses the
[0055]
Note that the index holding unit 101 may be dispersedly arranged at the
[0056]
[Example 2]
Next, a second embodiment of the present invention will be described. In this embodiment, even when a plurality of indexes are used, a hit record having a small ranking score is not included in the display list.
[0057]
FIG. 4 schematically shows the search apparatus of this embodiment. In this figure, the
[0058]
The
[0059]
When a plurality of indexes are used, the hit records are merged by the hit
[0060]
The hit records in the hit record temporary storage unit 33 are sorted based on the ranking score included therein, and sent to the display
[0061]
Thus, the number of hit record merging processes can be reduced.
[0062]
Next, the hit record number calculation process performed by the index-specific hit record
[0063]
The
[0064]
At the time of the search, as shown in FIG. 9, a B + tree is determined by the management node, a vertical search is performed from the root node along an intermediate node, and after a shift to a leaf node, a horizontal search is performed.
[0065]
Here, the number management information of the intermediate nodes will be described with reference to FIG. In FIG. 10, as an example, the intermediate node of the first stage (the node next to the management node) is the key “LEFT”, K (0) 1 , K (0) 2 , K (0) 3 ,... Branch to a lower node (sub-tree). No record is stored immediately below the key “LEFT”. “K (0)” indicates that the key is the first row. Similarly, the key of the n-th intermediate node is represented by “K (n−1)”. Number R (0) of records stored in leaf nodes of lower nodes (subtrees) from which keys in the range from “LEFT” to K (0) 1 branch 1 Is stored in the number management information of the
[0066]
When performing a search using the start key and the end key, it is possible to obtain the order at the time of reaching the leaf node using the number management information of the intermediate nodes. That is, among the intermediate nodes that are sequentially traced, the lower intermediate node to be traced next is determined. At this time, the number management information of the intermediate node on the left side is obtained. This operation is similarly performed for the next intermediate node, and this operation is repeated until the intermediate node reaches the leaf node. For example, the respective keys K (0) of the first to Nth stages A , K (1) B , K (2) C , ..., K (N-1) D , The key of the intermediate node 0 (lower node or subtree; the same applies hereinafter) K (0) A-1 Management information R (0) A-1 , Key K (1) of
[0067]
First, the intermediate node is traced based on the start key, the corresponding number management information is accumulated, the rank of the record when reaching the leaf node is obtained, and the leaf node is horizontally searched. When the record that includes the start key is reached, the number of records in the horizontal search up to that record is obtained, and this is added to the rank of the record when the leaf node is reached, and the record that includes the start key (including the start key) If there is no record, the order (Nstart) of the record that includes the key closest to the start key included in the search range is obtained.
[0068]
Next, the intermediate node is traced based on the end key, the corresponding number management information is accumulated, the order of the record when the record reaches the leaf node is obtained, and the leaf node is horizontally searched. When the record containing the end key is reached, the number of records in the horizontal search up to that record is obtained, and this is added to the rank of the record when the leaf node is reached, and the record containing the end key (including the start key) When there is no record, the order (Nend) of the record that includes the key closest to the start key included in the search range is obtained.
[0069]
The index-based hit record
[0070]
FIG. 11 shows a process of calculating the number of hit records for each index in the index-specific hit record
[0071]
[Step S10]: A search range is received.
[Step S11]: B + tree is determined.
[Step S12]: The start key is used as a search key.
[Step S13]: Select a key corresponding to the search key
[Step S14]: A ranking calculation routine is performed. See FIG.
[Step S15]: The rank acquired in the rank calculation routine is set to Nstart.
[Step S16]: The end key is used as a search key.
[Step S17]: A ranking calculation routine is performed.
[Step S18]: The rank acquired in the rank calculation routine is set to Nend.
[Step S19]: Is there a record corresponding to the end key? If there is, go to step S20, otherwise go to step S21.
[Step S20]: The number of items in the search range is calculated by Nend−
[Step S21]: The number of cases in the search range is calculated by Nend-Nstart.
[0072]
The ranking calculation routine is as follows.
[0073]
[Step S40]: Reset the rank to 0.
[Step S41]: In the intermediate node, the number management information of the key to the left of the key corresponding to the search key is accumulated in order.
[Step S42]: The search key proceeds to a node below the corresponding key.
[Step S43]: It is determined whether the node is an intermediate node or a leaf node. If it is an intermediate node, the process returns to step S41. If it is a leaf node, the process proceeds to step S44.
[Step S44]: Trace from the record at the time of reaching the leaf node to the record of the key corresponding to the search key by horizontal search.
[Step S45]: The number of records traversed in the horizontal search is accumulated in the order described above.
[0074]
This is the end of the description of the second embodiment.
[0075]
[Example 3]
Next, a third embodiment of the present invention will be described. In this embodiment, a search system is constructed by connecting, via a network, a search device main body that performs a search process using an index and a search management device that links search results of the search device main body.
[0076]
FIG. 13 shows the entire search system according to the third embodiment. In FIG. 13, parts corresponding to those in FIG. 13, a
[0077]
FIG. 14 illustrates a process in the
[0078]
[Step S50]: Each
[0079]
[Step S51]: The search management server 300 receives the sorted hit records from the
[Step S52]: Hit records from the
[Step S53]: It is determined whether or not the total number of linked hit records has reached the cumulative upper limit, for example, 10 times the output upper limit. If the cumulative upper limit has not been reached, the process returns to step S52 to repeat the processing. If it has reached, the process proceeds to step S54.
[Step S54]: The linked hit records are sorted again by score.
"Step D55": Hit records are output from the upper position by the output upper limit value.
[0080]
The score of each record is calculated, for example, as follows.
(Equation 1)
{A1 × (appearance density) + A2 × (update date−base date)} × (value determined by appearance distribution information, for example, a value of 1-2)
A1 and A2 are coefficients.
[0081]
The appearance density is a rate at which the keyword is included in the document, and is obtained by, for example, constant × number of appearances / document size. The score increases as the appearance density increases.
[0082]
The update date is the date on which the document was updated. In principle, the reference time is obtained by adding "2048" (about four years) to the search date. The “date” is, for example, an integer value of 0 to 32767, and covers approximately from January 1, 1970 to January 19, 2038. One day is equivalent to 1.3. Typically, the renewal date is several months to several years ago. If the renewal date is used as it is, a period in which the renewal date is not used for about 30 years is created, and the dynamic range is reduced. Therefore, the reference date is four years before the search execution date (about 2048) (update date−reference date = update date−search execution date + 2048). The newer the update date, the higher the score.
[0083]
The appearance distribution information indicates how word keys are distributed in a sentence row in a document. The sentence row is represented by 32 bits, and “1” indicates that the word key appears at the position of the sentence. Stand up. It is more characteristic to provide bits as many as the number of sentences, but in this example, "1" is set at the bit position indicated by the remainder of the
[0084]
Also, the lower several bits of the document size are linked to the score so that the score does not have the same value.
[0085]
FIG. 16 shows an example of score calculation. In this example, documents A, B, and C are hit by performing an OR search for “copy” and “Fuji Xerox Co., Ltd.” (“Fuji Xerox” is a trademark). The search date is “August 1, 2002”.
[0086]
The score of document A is as follows. That is, the sum of the actual appearance densities is “0x09 + 0x13 = 0x1C” (0x represents hexadecimal), and is “0x1CB8” together with the document size. The sum of the contributions of the update dates is “0x3CB8”, which is 1.75 times the appearance distribution, and “0x6A47 = 27207” is the score.
[0087]
The score of document B is as follows. Similarly, “0x1F40” is obtained from the appearance density and the document size. Since it cannot be obtained from the occurrence from "Fuji Xerox Co., Ltd.", the default value of "0x1800" is used, and it becomes "0x3740" in total.
[0088]
The score of document C is as follows. The sum of the actual appearance densities is “0x1D + 0x00 = 0x1D”, and is “0x1D80” together with the document size. The sum of the contributions of the update dates is “0x17E3”. Doubled by the appearance distribution, “0x2FC6 = 12230” becomes the score.
[0089]
As a result, documents B, A, and C are sorted in this order.
[0090]
This is the end of the description of the third embodiment. According to this embodiment, since score calculation and sorting are executed in a distributed manner, responsiveness can be improved and scalability can be achieved. Also, since hit records exceeding a predetermined upper limit are not sent to the search management server, communication costs are reduced.
[0091]
In FIG. 13, the search management server and the search server are separately configured and connected by a network (LAN or WAN). However, as shown in FIG. 3, the functions of the search management server and the search server are integrated. In this case as well, it is of course possible to sort by index for each index, concatenate them, and then sort again by score to obtain a search result.
[0092]
It should be noted that the present invention is not limited to the above-described embodiment, and various changes can be made without departing from the gist of the present invention. For example, it goes without saying that the search device according to the second embodiment can be applied to the intranet environment shown in FIG. 4, and at that time, a similar system can be installed in a computer system using a recording medium or the like.
[0093]
【The invention's effect】
As described above, according to the present invention, an index for an integrated search can be constructed in consideration of an access right, and it is possible to perform a high-speed search by avoiding verifying an access right for each hit record. be able to. Further, even when a plurality of indexes are used, the number of hit record merges can be reduced and high-speed search can be performed.
[Brief description of the drawings]
FIG. 1 is a block diagram schematically showing a search device according to a first embodiment of the present invention.
FIG. 2 is a block diagram schematically illustrating the index construction device according to the first embodiment.
FIG. 3 is a diagram illustrating a configuration example in which the first embodiment is applied to an intranet environment.
FIG. 4 is a block diagram schematically illustrating a search device according to a second embodiment of the present invention.
FIG. 5 is an explanatory diagram of a B + tree structure for explaining a hit record calculation process of each index in a hit record number generating unit for each index according to the second embodiment.
FIG. 6 is a diagram for explaining a management node having a B + tree structure in FIG. 5;
FIG. 7 is a diagram illustrating an intermediate node of the B + tree structure in FIG. 5;
FIG. 8 is a diagram illustrating leaf nodes having a B + tree structure in FIG. 5;
FIG. 9 is a diagram illustrating a search of the B + tree structure in FIG. 5;
FIG. 10 is a diagram illustrating the number-of-items management information included in the B + tree structure of FIG. 5;
11 is a flowchart illustrating a process of calculating an index hit record using the B + tree structure of FIG. 5;
FIG. 12 is a flowchart illustrating a ranking calculation routine of FIG. 11;
FIG. 13 is a diagram illustrating a configuration of a third embodiment of the present invention.
FIG. 14 is a flowchart illustrating the operation of the third embodiment.
FIG. 15 is a diagram illustrating a record format according to the third embodiment.
FIG. 16 is a diagram illustrating an example of score calculation according to the above embodiment.
[Explanation of symbols]
10 Search section
11 Access control unit
12 User authority storage
13 Index storage device
14 Index
15 Search user terminal
20 Process starter
21 Index record management unit
22 Index Record Management Process
23 Access control unit
24 Process authority storage
30 Hit Record Number Generator for Each Index
31 Index selector
32 Hit Record Merging Section
33 Hit Record Temporary Storage
34 Display record output section
100 search system
101 Index holding unit
102 Index construction system
103 Document Filing System
104 Directory server
105 Web server
106 Application Server
107 router
108 LAN
109, 110 storage medium
120 client terminal
121 Network
200 security domains
300 search management server
301 search server
302 Index holding unit
Claims (20)
上記インデクスを用いて文書の検索を行う検索手段と、
検索ユーザのアクセス権限に基づいて当該検索ユーザの検索要求に許容される上記インデクスを特定する手段とを有することを特徴とする検索装置。Index storage means for storing an index provided for each document access right;
Search means for searching for a document using the index,
Means for specifying the index allowed for the search request of the search user based on the access authority of the search user.
上記アクセス権限ごとに、文書を参照してインデクスを構築・管理するプロセスをアクセス権限を設定して起動する手段と、
上記プロセスにより、対応するアクセス権限の文書を参照してインデクスレコードを生成する手段と、
上記インデクスレコードを対応するインデクスに含ませる手段とを有することを特徴とする、検索装置のインデクス構築装置。In an index construction device of a search device, which constructs an index for each document access right,
Means for setting the access authority and starting a process for building and managing an index with reference to the document for each of the access authorities,
Means for generating an index record by referring to the corresponding access right document by the above process;
Means for causing the index record to be included in the corresponding index.
複数のインデクスを記憶する手段と、
上記インデクスの各々におけるヒットレコードの件数を生成する件数算出手段と、
単一のインデクスのヒットレコードの件数のみでは、上記所望数に達しない場合に、上記単一のインデクスのヒットレコードに他の1または複数のインデクスのヒットレコードを併合するヒットレコード併合手段と、
上記インデクスの各々におけるヒットレコードの件数および上記所望数に基づいて、上記併合に用いるインデクスの数が最小になるように、上記併合に用いるインデクスを選択するインデクス選択手段と、
単一のインデクスから取り出された上記所望数以上のヒットレコードまたは上記レコード併合手段により併合されたヒットレコードを所定の規則に従ってソートするソート手段と、
ソートしたレコードのうち、良い順位のヒットレコードを上記表示数を上限として取り出すヒットレコード取り出し手段と、
取りだした上記表示数のレコードを表示データとして出力するヒットレコード出力手段とを有することを特徴とする検索装置。In a search device that peeks out more than a desired number of hit records and sorts the records according to a predetermined rule, and displays a record of a good order with a predetermined display number below the desired number as an upper limit,
Means for storing a plurality of indexes;
A number calculation means for generating the number of hit records in each of the indexes,
Hit record merging means for merging one or more other index hit records with the single index hit record if the number of hit records of the single index does not reach the desired number;
Based on the number of hit records in each of the indexes and the desired number, so that the number of indexes used for the merging is minimized, and an index selecting means for selecting an index used for the merging,
Sorting means for sorting hit records merged by the desired number or more hit records or the record merging means extracted from a single index according to a predetermined rule,
Hit record extracting means for extracting hit records with good ranks from the sorted records with the display number as an upper limit,
Hit record output means for outputting the retrieved number of records as display data as a display data.
上記検索装置本体の各々は、対応するインデクスを用いて検索を行い、ヒットレコードに対してスコア計算を行い、スコアに基づいてヒットレコードをソートし、
上記検索管理装置は、上記件数算出手段と、上記ヒットレコード併合手段と、上記インデクス選択手段と、上記ソート手段と、上記ヒットレコード取り出し手段と、上記ヒットレコード出力手段とを具備し、上記インデクス選択手段により選択されたインデクスに対応する検索装置本体から、スコアを含むヒットレコードを受け取る請求項5記載の検索装置。A plurality of search device bodies, and a search management device connected to the plurality of search device bodies via a communication network,
Each of the above-described search device bodies performs a search using the corresponding index, calculates a score for the hit record, sorts the hit records based on the score,
The search management device includes the number calculation unit, the hit record merging unit, the index selection unit, the sorting unit, the hit record retrieval unit, and the hit record output unit, and includes the index selection unit. 6. The search device according to claim 5, wherein a hit record including a score is received from the search device body corresponding to the index selected by the means.
検索ユーザのアクセス権限に基づいて当該検索ユーザの検索要求に許容される上記インデクスを特定するステップと、
許容される上記インデクスを用いて文書の検索を行うステップとを有することを特徴とする検索方法。In a search method for performing a search using an index provided for each document access right,
Identifying the index allowed in the search request of the search user based on the access authority of the search user,
Searching for a document using the allowed index.
上記アクセス権限ごとに、
文書を参照してインデクスを構築・管理するプロセスをアクセス権限を設定して起動するステップと、
上記プロセスにより、対応するアクセス権限の文書を参照してインデクスレコードを生成するステップと、
上記インデクスレコードを対応するインデクスに含ませるステップとを実行することを特徴とする、検索装置のインデクス構築方法。In an index construction method for a search device, which constructs an index for each document access right,
For each of the above access rights,
Launching the process of building and managing the index with reference to the document by setting the access authority; and
Generating an index record by referring to a document of a corresponding access right by the above process;
And a step of including the index record in a corresponding index.
上記インデクスの各々におけるヒットレコードの件数を生成するステップと、
単一のインデクスのヒットレコードの件数のみでは、上記所望数に達しない場合に、上記単一のインデクスのヒットレコードに他の1または複数のインデクスのヒットレコードを併合するヒットレコード併合ステップと、
上記インデクスの各々におけるヒットレコードの件数および上記所望数に基づいて、上記併合に用いるインデクスの数が最小になるように、上記併合に用いるインデクスを選択するステップと、
単一のインデクスから取り出された上記所望数以上のヒットレコードまたは上記レコード併合ステップにより併合されたヒットレコードを所定の規則に従ってソートするステップと、
ソートしたレコードのうち、良い順位のヒットレコードを上記表示数を上限として取り出すステップと、
取りだした上記表示数のレコードを表示データとして出力するステップとを有することを特徴とする検索方法。Using a plurality of indices, and peeking out hit records exceeding the desired number among the hit records of the above index and sorting them according to a predetermined rule, and displaying records of good rank with a predetermined display number below the desired number as an upper limit. Search method
Generating the number of hit records in each of the indexes;
A hit record merging step of merging one or more other index hit records with the single index hit record if the desired number is not reached by only the number of hit records of the single index;
Based on the number of hit records in each of the indexes and the desired number, so as to minimize the number of indexes used for the merging, selecting an index used for the merging,
Sorting according to a predetermined rule the hit records merged by the desired number or more hit records or the record merging step extracted from a single index,
Extracting a hit record with a good ranking from the sorted records with the display number as an upper limit;
Outputting the retrieved number of records as display data as display data.
検索ユーザのアクセス権限に基づいて当該検索ユーザの検索要求に許容される上記インデクスを特定するステップと、
許容される上記インデクスを用いて文書の検索を行うステップとをコンピュータに実行させるために用いられることを特徴とする検索用コンピュータプログラム。In a search computer program for performing a search using an index provided for each document access right,
Identifying the index allowed in the search request of the search user based on the access authority of the search user,
Searching for a document using the allowable index described above.
上記アクセス権限ごとに、
文書を参照してインデクスを構築・管理するプロセスをアクセス権限を設定して起動するステップと、
上記プロセスにより、対応するアクセス権限の文書を参照してインデクスレコードを生成するステップと、
上記インデクスレコードを対応するインデクスに含ませるステップとをコンピュータに実行させるために用いられることを特徴とする、検索装置のインデクス構築用コンピュータプログラム。In an index construction computer program for a search device, which constructs an index for each document access right,
For each of the above access rights,
Launching the process of building and managing the index with reference to the document by setting the access authority; and
Generating an index record by referring to a document of a corresponding access right by the above process;
And a step of causing the computer to execute the step of including the index record in a corresponding index.
上記インデクスの各々におけるヒットレコードの件数を生成するステップと、
単一のインデクスのヒットレコードの件数のみでは、上記所望数に達しない場合に、上記単一のインデクスのヒットレコードに他の1または複数のインデクスのヒットレコードを併合するヒットレコード併合ステップと、
上記インデクスの各々におけるヒットレコードの件数および上記所望数に基づいて、上記併合に用いるインデクスの数が最小になるように、上記併合に用いるインデクスを選択するステップと、
単一のインデクスから取り出された上記所望数以上のヒットレコードまたは上記レコード併合ステップにより併合されたヒットレコードを所定の規則に従ってソートするステップと、
ソートしたレコードのうち、良い順位のヒットレコードを上記表示数を上限として取り出すステップと、
取りだした上記表示数のレコードを表示データとして出力するステップとをコンピュータに実行させるために用いられることを特徴とする検索用コンピュータプログラム。A search that uses a plurality of indices, retrieves more than the desired number of hit records, sorts them according to a predetermined rule, and displays records with good ranks up to a predetermined display number below the desired number. In computer programs,
Generating the number of hit records in each of the indexes;
A hit record merging step of merging one or more other index hit records with the single index hit record if the desired number is not reached by only the number of hit records of the single index;
Based on the number of hit records in each of the indexes and the desired number, so as to minimize the number of indexes used for the merging, selecting an index used for the merging,
Sorting according to a predetermined rule the hit records merged by the desired number or more hit records or the record merging step extracted from a single index,
Extracting a hit record with a good ranking from the sorted records with the display number as an upper limit;
Outputting the retrieved number of displayed records as display data to a computer.
インデクスごとに設けられてレコードの検索を行い、ヒットレコードに対して所定の規則でスコア計算を行い、レコードにスコアを付与し、上記スコアに基づいてヒットレコードをソートする第1の手段と、
上記第1の手段から、対応するインデクスに対して生成された、ソート済みのヒットレコードのセットを受取り、複数のセットのソート済みのヒットレコードを受け取ったときは、上記複数のセットのソート済みのヒットレコードを連結したのち再度ソートを行い、再度ソートした後のヒットレコードの上位の所定数を検索結果として出力する第2の手段とを有することを特徴とする検索装置。In a search device that performs a search using a plurality of indexes,
First means for searching records provided for each index, performing score calculation on hit records according to predetermined rules, assigning scores to records, and sorting hit records based on the scores;
Receiving a set of sorted hit records generated for the corresponding index from the first means, and receiving a sorted set of hit records of a plurality of sets; Second means for connecting the hit records, re-sorting the hit records, and outputting, as a search result, a predetermined number of upper ranks of the re-sorted hit records.
各インデクスから取得した、スコアを含むヒットレコードを所定の規則で連結するステップと、
連結した上記スコアを含むヒットレコードをスコアに基づいてソートするステップと、
ソートした後のヒットレコードの上位の所定数を検索結果として出力することを特徴とする検索用コンピュータプログラム。In a search computer program performing a search using a plurality of indexes,
Concatenating hit records including the score obtained from each index with a predetermined rule,
Sorting hit records containing the linked scores based on the scores;
A retrieval computer program for outputting, as a retrieval result, a predetermined number of upper ranks of hit records after sorting.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003075724A JP2004164555A (en) | 2002-09-17 | 2003-03-19 | Apparatus and method for retrieval, and apparatus and method for index building |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002269346 | 2002-09-17 | ||
JP2003075724A JP2004164555A (en) | 2002-09-17 | 2003-03-19 | Apparatus and method for retrieval, and apparatus and method for index building |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009103452A Division JP2009163772A (en) | 2002-09-17 | 2009-04-21 | Retrieval system and computer program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004164555A true JP2004164555A (en) | 2004-06-10 |
Family
ID=32827563
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003075724A Pending JP2004164555A (en) | 2002-09-17 | 2003-03-19 | Apparatus and method for retrieval, and apparatus and method for index building |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004164555A (en) |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006085563A (en) * | 2004-09-17 | 2006-03-30 | Fuji Xerox Co Ltd | Information processing apparatus, information processing method and computer program |
WO2010041516A1 (en) | 2008-10-08 | 2010-04-15 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Information processing apparatus, document retrieval system, document retrieval method, and program |
JP2010102518A (en) * | 2008-10-23 | 2010-05-06 | Hitachi Software Eng Co Ltd | Search system |
US8001149B2 (en) | 2007-09-28 | 2011-08-16 | Fuji Xerox Co., Ltd. | Document managing system, document use controller, document storage device, document managing method, and computer readable medium for updating index information at a storage device in response to change of index use permit/inhibit information at a document use controller |
JP2012069152A (en) * | 2004-09-27 | 2012-04-05 | Microsoft Corp | Method and recording medium for narrowing down searches using index keys |
CN103620616A (en) * | 2013-03-28 | 2014-03-05 | 华为技术有限公司 | Access control right management method and device |
US8738635B2 (en) | 2010-06-01 | 2014-05-27 | Microsoft Corporation | Detection of junk in search result ranking |
US8812493B2 (en) | 2008-04-11 | 2014-08-19 | Microsoft Corporation | Search results ranking using editing distance and document information |
US9348912B2 (en) | 2007-10-18 | 2016-05-24 | Microsoft Technology Licensing, Llc | Document length as a static relevance feature for ranking search results |
JP2016167145A (en) * | 2015-03-09 | 2016-09-15 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | SEARCH SYSTEM, SEARCH METHOD, AND COMPUTER PROGRAM |
US9495462B2 (en) | 2012-01-27 | 2016-11-15 | Microsoft Technology Licensing, Llc | Re-ranking search results |
JP2017152007A (en) * | 2014-08-21 | 2017-08-31 | ドロップボックス, インコーポレイテッド | Multi-user search system with methodology for personal searching |
WO2018090256A1 (en) * | 2016-11-16 | 2018-05-24 | 华为技术有限公司 | Directory deletion method and device, and storage server |
JP2019020794A (en) * | 2017-07-12 | 2019-02-07 | 富士ゼロックス株式会社 | Document management device, document management system, and program |
US10621324B2 (en) | 2014-08-29 | 2020-04-14 | Dropbox, Inc. | Fingerprint gestures |
US10712934B2 (en) | 2016-06-12 | 2020-07-14 | Apple Inc. | Devices and methods for accessing prevalent device functions |
US10977324B2 (en) | 2015-01-30 | 2021-04-13 | Dropbox, Inc. | Personal content item searching system and method |
US11120089B2 (en) | 2015-01-30 | 2021-09-14 | Dropbox, Inc. | Personal content item searching system and method |
CN114238341A (en) * | 2021-12-22 | 2022-03-25 | 重庆富民银行股份有限公司 | Interface data structure analysis and adjustment method based on Huffman tree group |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06103236A (en) * | 1992-09-22 | 1994-04-15 | Chugoku Nippon Denki Software Kk | Data base user managing system |
JPH10111834A (en) * | 1996-10-07 | 1998-04-28 | Shimadzu Corp | Instrument analysis data management device |
JPH10116293A (en) * | 1996-10-11 | 1998-05-06 | Mitsubishi Electric Corp | Distributed database management system |
JPH10232811A (en) * | 1997-02-20 | 1998-09-02 | Hitachi Ltd | How to manage database security |
JP2000250936A (en) * | 1999-03-02 | 2000-09-14 | Nippon Telegr & Teleph Corp <Ntt> | Multiple information source search method and system, and storage medium storing multiple information source search program |
JP2001344245A (en) * | 2000-03-29 | 2001-12-14 | Fujitsu Ltd | Information processing device |
-
2003
- 2003-03-19 JP JP2003075724A patent/JP2004164555A/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06103236A (en) * | 1992-09-22 | 1994-04-15 | Chugoku Nippon Denki Software Kk | Data base user managing system |
JPH10111834A (en) * | 1996-10-07 | 1998-04-28 | Shimadzu Corp | Instrument analysis data management device |
JPH10116293A (en) * | 1996-10-11 | 1998-05-06 | Mitsubishi Electric Corp | Distributed database management system |
JPH10232811A (en) * | 1997-02-20 | 1998-09-02 | Hitachi Ltd | How to manage database security |
JP2000250936A (en) * | 1999-03-02 | 2000-09-14 | Nippon Telegr & Teleph Corp <Ntt> | Multiple information source search method and system, and storage medium storing multiple information source search program |
JP2001344245A (en) * | 2000-03-29 | 2001-12-14 | Fujitsu Ltd | Information processing device |
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006085563A (en) * | 2004-09-17 | 2006-03-30 | Fuji Xerox Co Ltd | Information processing apparatus, information processing method and computer program |
JP2012069152A (en) * | 2004-09-27 | 2012-04-05 | Microsoft Corp | Method and recording medium for narrowing down searches using index keys |
US8843486B2 (en) | 2004-09-27 | 2014-09-23 | Microsoft Corporation | System and method for scoping searches using index keys |
US8001149B2 (en) | 2007-09-28 | 2011-08-16 | Fuji Xerox Co., Ltd. | Document managing system, document use controller, document storage device, document managing method, and computer readable medium for updating index information at a storage device in response to change of index use permit/inhibit information at a document use controller |
US9348912B2 (en) | 2007-10-18 | 2016-05-24 | Microsoft Technology Licensing, Llc | Document length as a static relevance feature for ranking search results |
US8812493B2 (en) | 2008-04-11 | 2014-08-19 | Microsoft Corporation | Search results ranking using editing distance and document information |
WO2010041516A1 (en) | 2008-10-08 | 2010-04-15 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Information processing apparatus, document retrieval system, document retrieval method, and program |
JP2010102518A (en) * | 2008-10-23 | 2010-05-06 | Hitachi Software Eng Co Ltd | Search system |
US8738635B2 (en) | 2010-06-01 | 2014-05-27 | Microsoft Corporation | Detection of junk in search result ranking |
US9495462B2 (en) | 2012-01-27 | 2016-11-15 | Microsoft Technology Licensing, Llc | Re-ranking search results |
CN103620616A (en) * | 2013-03-28 | 2014-03-05 | 华为技术有限公司 | Access control right management method and device |
WO2014153759A1 (en) * | 2013-03-28 | 2014-10-02 | 华为技术有限公司 | Method and device for managing access control permission |
US10853348B2 (en) | 2014-08-21 | 2020-12-01 | Dropbox, Inc. | Multi-user search system with methodology for personalized search query autocomplete |
JP2017152007A (en) * | 2014-08-21 | 2017-08-31 | ドロップボックス, インコーポレイテッド | Multi-user search system with methodology for personal searching |
US10579609B2 (en) | 2014-08-21 | 2020-03-03 | Dropbox, Inc. | Multi-user search system with methodology for bypassing instant indexing |
US10817499B2 (en) | 2014-08-21 | 2020-10-27 | Dropbox, Inc. | Multi-user search system with methodology for personal searching |
US10621324B2 (en) | 2014-08-29 | 2020-04-14 | Dropbox, Inc. | Fingerprint gestures |
US11120089B2 (en) | 2015-01-30 | 2021-09-14 | Dropbox, Inc. | Personal content item searching system and method |
US10977324B2 (en) | 2015-01-30 | 2021-04-13 | Dropbox, Inc. | Personal content item searching system and method |
JP2016167145A (en) * | 2015-03-09 | 2016-09-15 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | SEARCH SYSTEM, SEARCH METHOD, AND COMPUTER PROGRAM |
US10712934B2 (en) | 2016-06-12 | 2020-07-14 | Apple Inc. | Devices and methods for accessing prevalent device functions |
WO2018090256A1 (en) * | 2016-11-16 | 2018-05-24 | 华为技术有限公司 | Directory deletion method and device, and storage server |
US11687488B2 (en) | 2016-11-16 | 2023-06-27 | Huawei Technologies Co., Ltd. | Directory deletion method and apparatus, and storage server |
JP2019020794A (en) * | 2017-07-12 | 2019-02-07 | 富士ゼロックス株式会社 | Document management device, document management system, and program |
JP7009802B2 (en) | 2017-07-12 | 2022-01-26 | 富士フイルムビジネスイノベーション株式会社 | Document management equipment, document management systems and programs |
CN114238341A (en) * | 2021-12-22 | 2022-03-25 | 重庆富民银行股份有限公司 | Interface data structure analysis and adjustment method based on Huffman tree group |
CN114238341B (en) * | 2021-12-22 | 2025-09-23 | 重庆富民银行股份有限公司 | A method for analyzing and adjusting interface data structure based on Huffman tree group |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004164555A (en) | Apparatus and method for retrieval, and apparatus and method for index building | |
US7653623B2 (en) | Information searching apparatus and method with mechanism of refining search results | |
Garofalakis et al. | XTRACT: A system for extracting document type descriptors from XML documents | |
US6980976B2 (en) | Combined database index of unstructured and structured columns | |
US7440964B2 (en) | Method, device and software for querying and presenting search results | |
US7260572B2 (en) | Method of processing query about XML data using APEX | |
US6947924B2 (en) | Group based search engine generating search results ranking based on at least one nomination previously made by member of the user group where nomination system is independent from visitation system | |
CN1755677B (en) | Range search system and method using index keywords | |
US20070073894A1 (en) | Networked information indexing and search apparatus and method | |
US7302425B1 (en) | Distributed pre-cached query results and refresh method | |
US7617250B2 (en) | Semantic file system | |
US20070005564A1 (en) | Method and system for performing multi-dimensional searches | |
US20090299978A1 (en) | Systems and methods for keyword and dynamic url search engine optimization | |
JP5121194B2 (en) | Organization information retrieval system and organization information retrieval program | |
JP2006524393A (en) | System and method for generating concept units from search queries | |
CA2385570A1 (en) | System and method for performing similarity searching | |
US7363298B2 (en) | Optimized cache efficiency behavior | |
US20050177554A1 (en) | System and method for facilitating full text searching utilizing inverted keyword indices | |
JP2006528382A (en) | Search method in documents | |
JP2009163772A (en) | Retrieval system and computer program | |
Banerjee et al. | Pubsub: an efficient publish/subscribe system | |
JP3859044B2 (en) | Index creation method and search method | |
JP4119057B2 (en) | Search system, search device, and recording medium recording program | |
JP2009294768A (en) | Information sharing device and information sharing program | |
WO2007121490A2 (en) | System and method of identifying shared resources on a network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060221 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090224 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090421 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090519 |