IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノンマーケティングジャパン株式会社の特許一覧 ▶ キヤノンITソリューションズ株式会社の特許一覧

特開2022-103674情報処理システム、情報処理装置、情報処理方法、プログラム
<>
  • 特開-情報処理システム、情報処理装置、情報処理方法、プログラム 図1
  • 特開-情報処理システム、情報処理装置、情報処理方法、プログラム 図2
  • 特開-情報処理システム、情報処理装置、情報処理方法、プログラム 図3
  • 特開-情報処理システム、情報処理装置、情報処理方法、プログラム 図4
  • 特開-情報処理システム、情報処理装置、情報処理方法、プログラム 図5
  • 特開-情報処理システム、情報処理装置、情報処理方法、プログラム 図6
  • 特開-情報処理システム、情報処理装置、情報処理方法、プログラム 図7
  • 特開-情報処理システム、情報処理装置、情報処理方法、プログラム 図8
  • 特開-情報処理システム、情報処理装置、情報処理方法、プログラム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022103674
(43)【公開日】2022-07-08
(54)【発明の名称】情報処理システム、情報処理装置、情報処理方法、プログラム
(51)【国際特許分類】
   G06F 16/178 20190101AFI20220701BHJP
   G06F 13/00 20060101ALI20220701BHJP
   G06F 16/22 20190101ALI20220701BHJP
【FI】
G06F16/178
G06F13/00 520D
G06F16/22
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2020218448
(22)【出願日】2020-12-28
(71)【出願人】
【識別番号】390002761
【氏名又は名称】キヤノンマーケティングジャパン株式会社
(71)【出願人】
【識別番号】592135203
【氏名又は名称】キヤノンITソリューションズ株式会社
(74)【代理人】
【識別番号】100189751
【弁理士】
【氏名又は名称】木村 友輔
(72)【発明者】
【氏名】福田 直之
(72)【発明者】
【氏名】中尾 優花
(72)【発明者】
【氏名】占部 健
【テーマコード(参考)】
5B084
5B175
【Fターム(参考)】
5B084AA01
5B084AA11
5B084AB01
5B084AB31
5B084AB32
5B084BA09
5B084BB12
5B084CC04
5B084CC17
5B084CD02
5B084CD22
5B084DC02
5B175AA01
5B175EA05
(57)【要約】
【課題】 文書検索システムの検索結果に最新ファイル情報を迅速に反映する仕組みを提供する。
【解決手段】 ファイルを記憶するサーバ装置と通信可能な情報処理装置であって、前記サーバ装置に記憶されたファイルに係る情報を取得し、取得した情報に基づき、クロール単位を決定する。クロール単位毎に、前記サーバ装置に記憶されたファイルをクロールする。
【選択図】図1
【特許請求の範囲】
【請求項1】
ファイルを記憶するサーバ装置と通信可能な情報処理装置であって、
前記サーバ装置に記憶されたファイルに係る情報を取得する取得手段と、
前記取得手段により取得された情報に基づき、クロール単位を決定する決定手段と、
前記決定手段により決定されたクロール単位毎に、前記サーバ装置に記憶されたファイルをクロールするクロール手段と、
を備えることを特徴とする情報処理装置。
【請求項2】
前記決定手段により決定されたクロール単位毎にクロール頻度を決定する頻度決定手段を備え、
前記クロール手段は、前記頻度決定手段により決定された頻度で、当該クロール単位の範囲に対してクロールを行うことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記頻度決定手段は、前記クロール単位におけるファイルの更新頻度に基づき、クロール頻度を決定することを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記取得手段により取得された情報に基づき、新たに追加されたフォルダを検出する検出手段をさらに備え、
前記クロール手段は、前記検出手段により検出されたフォルダについては、次回以降のクロール対象とすることを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
【請求項5】
前記頻度決定手段は、前記検出手段により検出されたフォルダを含むクロール単位のクロール頻度を高めることを特徴とする請求項4に記載の情報処理装置。
【請求項6】
ファイルを記憶するサーバ装置と通信可能な情報処理装置における情報処理方法であって、
前記情報処理装置の取得手段が、前記サーバ装置に記憶されたファイルに係る情報を取得する取得工程と、
前記情報処理装置の決定手段が、前記取得工程により取得された情報に基づき、クロール単位を決定する決定工程と、
前記情報処理装置のクロール手段が、前記決定工程により決定されたクロール単位毎に、前記サーバ装置に記憶されたファイルをクロールするクロール工程と、
を備えることを特徴とする情報処理方法。
【請求項7】
ファイルを記憶するサーバ装置と通信可能なコンピュータを、
前記サーバ装置に記憶されたファイルに係る情報を取得する取得手段と、
前記取得手段により取得された情報に基づき、クロール単位を決定する決定手段と、
前記決定手段により決定されたクロール単位毎に、前記サーバ装置に記憶されたファイルをクロールするクロール手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理システム、情報処理装置、情報処理方法、プログラムに関する。
【背景技術】
【0002】
複数ある文書管理システムを横断して文書検索を行うシステムで使用される技術としてクローラが存在する。クローラは非同期で一定期間ごとに文書管理システムにアクセスして内部のファイル情報を取得し、検索エンジンが保持するインデックスに蓄積することで、ユーザが文書検索を行った際、都度文書管理システムにアクセスせずともユーザへ応答可能になるという特徴がある。
【0003】
このような検索技術を用いた例として、特許文献1には、クロール処理を実行する際にファイル情報を取得し、削除候補のファイルを抽出する仕組みについて開示されている。特許文献2には、取得したファイル情報を基にファイルの格納先候補を決定する仕組みについて開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2015-087942
【特許文献2】特開2013-025700
【発明の開示】
【発明が解決しようとする課題】
【0005】
企業では日々業務に関わる文書ファイル等のデータが作成され、膨大なデータが保存管理されているが、各文書は様々な異なるシステム内に蓄積されており、業務に必要な情報を既存文書から探すのは容易ではない。このため、システムを横断して文書検索を行うことができるシステムが存在する。
【0006】
上述した文書検索システムでは、クローラという技術が用いられ、文書ファイルが保管されている各システムから非同期で一定期間ごとに内部の文書ファイル情報を取得することで、ユーザが都度各システムにアクセスせずに済むような仕組みを提供している。しかし、クローラが文書ファイル情報を取得しに行くまで最新の文書ファイル情報は文書検索結果に反映されないため、ユーザが求めている情報が表示されないという場合は少なくない。ゆえに、最新文書ファイル情報を文書検索結果に迅速に反映させる仕組みが求められている。
【0007】
そこで本発明では、文書検索システムの検索結果に最新ファイル情報をより迅速に反映する仕組みを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明の情報処理装置は、ファイルを記憶するサーバ装置と通信可能な情報処理装置であって、前記サーバ装置に記憶されたファイルに係る情報を取得する取得手段と、前記取得手段により取得された情報に基づき、クロール単位を決定する決定手段と、前記決定手段により決定されたクロール単位毎に、前記サーバ装置に記憶されたファイルをクロールするクロール手段と、を備えることを特徴とする。
【発明の効果】
【0009】
本発明によると、文書検索システムの検索結果に最新ファイル情報をより迅速に反映することが可能となる。
【図面の簡単な説明】
【0010】
図1】本発明の実施形態における、情報処理システムのシステム構成の一例を示すシステム構成図である。
図2】本発明の実施形態における、クライアントPC100、情報処理システムの文書検索装置110、ファイルサーバ120に適用可能な情報処理装置のハードウェア構成の一例を示す図である。
図3】本発明の実施形態における、情報処理システムの差分クロール処理の一例を示すフローチャートである。
図4】本発明の実施形態における、情報処理システムのクロール単位分割の一例を示すフローチャートである。
図5】本発明の実施形態における、情報処理システムのクロール単位分割の一例を示すフローチャートである。
図6】本発明の実施形態における、図4のフローチャートの処理におけるクロール単位分割の一例を示す図である。
図7】本発明の実施形態における、図5のフローチャートの処理におけるクロール単位分割の一例を示す図である。
図8】本発明の実施形態における、文書検索装置110のインデックス管理部113内のインデックスの一例を示す図である。
図9】本発明の実施形態における、情報処理システムの機能構成の一例を示す図である。
【発明を実施するための形態】
【0011】
以下、図面を参照して、本発明の実施形態を詳細に説明する。なお、以下に説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載した構成の具体的な実施形態の一つである。
【0012】
図1は、本発明の実施形態における、情報処理システムのシステム構成の一例を示すシステム構成図である。
【0013】
本発明の実施形態における情報処理システムは、クライアントPC100、文書検索装置110、ファイルサーバ120が、ネットワークを介して通信可能に接続されている。
【0014】
図9は、本発明の実施形態における情報処理システムの機能構成図である。クライアントPC100は表示部101を備える。表示部101は、文書検索装置110により検索された文書を示す情報を表示する。
【0015】
文書検索装置110は、文書検索部111、クローラ112、インデックス管理部113、から構成されている。
【0016】
文書検索部111は、クライアントPC100から受信したクエリとなる文書を基に類似文書の検索を行う。クローラ112は、ファイルサーバや不図示の文書管理システムとの連携を行い、保管されている文書ファイルを取得する。インデックス管理部113は、クローラ112で取得した文書ファイルのデータを管理する。
【0017】
ファイルサーバ120は、ファイル管理部121、ファイル送受信部122から構成されている。
【0018】
ファイル管理部は、ファイル送受信部122において送受信されたファイルを管理する。ファイル送受信部122はファイルを送受信する。
【0019】
次に図2の説明に移る。
【0020】
図2は、クライアントPC100、文書検索装置110、ファイルサーバ120として適用可能な情報処理装置のハードウェア構成の一例を示すブロック図である。
【0021】
図2に示すように、情報処理装置は、システムバス200を介してCPU(Central Processing Unit)201、ROM(Read Only Memory)202、RAM(Random Access Memory)203、記憶装置204、入力コントローラ205、音声コントローラ206、ビデオコントローラ207、メモリコントローラ208、および通信I/Fコントローラ209が接続される。
【0022】
CPU201は、システムバス200に接続される各デバイスやコントローラを統括的に制御する。
【0023】
ROM202あるいは外部メモリ213は、CPU201が実行する制御プログラムであるBIOS(Basic Input/Output System)やOS(Operating System)や、本情報処理方法を実現するためのコンピュータ読み取り実行可能なプログラムおよび必要な各種データ(データテーブルを含む)を保持している。
【0024】
RAM203は、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をROM202あるいは外部メモリ213からRAM203にロードし、ロードしたプログラムを実行することで各種動作を実現する。
【0025】
入力コントローラ205は、キーボード210や不図示のマウス等のポインティングデバイス等の入力装置からの入力を制御する。入力装置がタッチパネルの場合、ユーザがタッチパネルに表示されたアイコンやカーソルやボタンに合わせて押下(指等でタッチ)することにより、各種の指示を行うことができることとする。
【0026】
また、タッチパネルは、マルチタッチスクリーンなどの、複数の指でタッチされた位置を検出することが可能なタッチパネルであってもよい。
【0027】
ビデオコントローラ207は、ディスプレイ212などの外部出力装置への表示を制御する。ディスプレイは本体と一体になったノート型パソコンのディスプレイも含まれるものとする。なお、外部出力装置はディスプレイに限ったものははく、例えばプロジェクタであってもよい。また、前述のタッチ操作を受け付け可能な装置については、入力装置も提供する。
【0028】
なおビデオコントローラ207は、表示制御を行うためのビデオメモリ(VRAM)を制御することが可能で、ビデオメモリ領域としてRAM203の一部を利用することもできるし、別途専用のビデオメモリを設けることも可能である。
【0029】
メモリコントローラ208は、外部メモリ213へのアクセスを制御する。外部メモリとしては、ブートプログラム、各種アプリケーション、フォントデータ、ユーザファイル、編集ファイル、および各種データ等を記憶する外部記憶装置(ハードディスク)、フレキシブルディスク(FD)、或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等を利用可能である。
【0030】
通信I/Fコントローラ209は、ネットワークを介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いた通信やISDNなどの電話回線、および携帯電話の4G回線、5G回線等を用いた通信が可能である。
【0031】
尚、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ212上での表示を可能としている。また、CPU201は、ディスプレイ212上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【0032】
まず、本発明が解決する課題と、本発明の処理の概要について説明する。
【0033】
上述の通り、文書検索システムでは、クローラという技術が用いられ、文書ファイルが保管されている各システムから非同期で一定期間ごとに内部の文書ファイル情報を取得することで、ユーザが都度各システムにアクセスせずに検索を行える仕組みを提供している。
【0034】
文書ファイルが保管されているシステム(本実施例におけるファイルサーバ120)に保管されている文書ファイルは、更新されたり、追加・削除されることから、一定期間ごとにクロールをして、最新の文書ファイルを取得することが必要となる。ここで、ファイルサーバ120に保管されているすべてのファイルをクロールするのは時間がかるため、最新の情報を反映するのに時間がかかってしまう。そこで、本発明では、毎回すべてのファイルをクロールするのではなく、最初にすべてのファイルをクロールしたら、2回目以降は、差分(更新・追加・削除)されたファイルだけをクロールする差分クロールを行うことで、より迅速に最新の情報を文書検索システムに反映できるようにしている。
【0035】
ただし、差分クロールをするには、いずれのファイルが更新されたのか等を検知するために、前回分と今回分のファイルリストを突き合わせることで差分クロールの対象となるファイルを特定する必要がある。この処理についても時間がかかる処理であるため、本発明では、ファイルリストを分割し、分割された単位ごとに差分クロールを行うことで、各分割単位における差分クロールが終了次第、文書検索システムの情報を更新できるようにしている。
【0036】
分割単位については、様々な方法が考えらえるが、本実施例においては、ファイルリストを均等に分割する方法(図4)と、フォルダ階層を考慮して分割する方法(図5)について説明する。
【0037】
さらに、分割単位ごとにクロールする頻度を設定し、ファイル更新の頻度が高い分割単位についてはクロール頻度も高くすることで、よりリアルタイムに文書検索システムの情報の更新を可能としている。
【0038】
また、新規に追加されたフォルダについては、その配下にどれだけのファイルがあるのかを把握できていないため、当該新規フォルダについてもクロールをし始めると、予想外に時間がかかってしまうという事態が起こりうる。そのため、新規フォルダについては、まず新規のフォルダが存在することだけを取得し、その配下のファイルについては、次回のクロール対象として管理する。ここで、次回のクロール対象とすると、新規に追加されたフォルダの情報を文書検索システムに反映するまで時間がかかってしまうことになるので(つまり次回のクロールまで反映されないことになるので)、当該新規フォルダが存在する上位フォルダに対しては、クロール頻度を高く設定することで、より迅速に反映できるようにする。
【0039】
以上説明したとおり、本願発明によれば、ファイルリストを分割した分割単位で差分クロールすることで、分割単位毎に文書検索システムの情報を更新できるため、よりリアルタイムに文書検索システムの情報を更新することが可能となる。
【0040】
また、分割単位ごとにファイル更新頻度を用いてクロール頻度を設定することで、頻繁に更新されるファイルについては、高い頻度で文書検索システムの情報も更新でき、かつ更新頻度が低いファイルについては必要以上のクロールを行わないことになるため、クロール処理による負荷も軽減することが可能となる。
【0041】
さらに、新たに追加されたフォルダについては次回以降のクロールで対応することで、予測に反してクロール処理に時間がかかってしまうという事態を回避することが可能となる。また、新たに追加されたフォルダについては、クロール頻度を高く設定することで、当該フォルダの情報についても、よりリアルタイムに文書検索システムに反映することが可能となる。
【0042】
以下、本発明の具体的な処理内容について説明する。
【0043】
まず、図3のフローチャートを用いて本発明の実施形態における文書ファイル取得処理について説明する。
【0044】
図3は、本発明の情報処理システムが実行する処理の内容を示すフローチャートである。尚、文書検索装置110は、ファイルサーバ120にある文書ファイル全体をダウンロードするフルクロール処理を一度行っていることを前提とし、図3のフローチャートは、2回目以降の更新された文書ファイルのみをダウンロードする差分クロール処理を示すものとする。
【0045】
ステップS301では、文書検索装置110は、インデックス管理部113のインデックスのパス情報からフォルダ一覧を取得し、一度のクロールで更新するインデックスの範囲を、フォルダリストを分割して決める。インデックスの一例を図8、パス情報の一例をパス名802に示す。また、フォルダリストの分割処理の一例を図4図5のフローチャートに示す。図4のフローチャートは、フォルダリストを均等に分割する処理の一例を示し、最も効率的にフォルダリストを分割できる。図5のフローチャートは、フォルダの階層を考慮した分割処理の一例を示し、組織単位等でのクロール処理実行を想定している。
【0046】
フォルダリストを分割しクロール単位を小さくすることで、あるフォルダリストのクロール処理で得たクロール結果は、次のフォルダリストのクロール処理の終了を待たずとも検索者の検索結果に反映することが可能となり、インデックスのリアルタイム性が高まる。また、分割したフォルダリスト毎にクロール頻度を変更することも可能となる。
【0047】
ステップS302は、ステップS301の結果得られるデータである、フォルダリストの分割範囲とクロール頻度を示す。尚、ステップS301において図4のフローチャートが示すフォルダリストを均等に分割する処理を実施した場合、毎回フォルダリストの分割範囲が変わるため、クロール頻度は一定として分割したフォルダリスト毎にクロール頻度は変わらないことを想定している。
【0048】
ステップS303では、分割されたフォルダリストが、指定されたクロール頻度でクロールが全て実施されるまで繰り返す。
【0049】
ステップS304では、文書検索装置110はインデックス管理部113のパス名802を使用して、ステップS301で分割したフォルダリストの分割範囲で、ファイルサーバ120にアップロードされた文書ファイルを検索しに行く。
【0050】
ステップS305では、ファイルサーバ120は、ステップS304における文書ファイル検索処理の結果を、文書検索装置110に返却する。スクロール対象のフォルダの配下にあるフォルダやファイルに関する情報が返却される。
【0051】
ステップS306では、文書検索装置110は、ステップS305でファイルサーバ120より返却された情報と、文書検索装置110のインデックス管理部113に登録された情報とを比較することで、新規のフォルダ(インデックス管理部113には管理されていなかったフォルダであり、ファイルサーバ120から返却された情報には含まれるフォルダ)や削除されたフォルダ(インデックス管理部113には管理されているフォルダであるがファイルサーバ120から返却された情報には含まれないフォルダ)などの存在をすべて検知するまで、ステップS307~S315までの処理を繰り返す。
【0052】
ステップS307において、処理対象のフォルダが新規フォルダである(インデックス管理部113に登録されていないフォルダである)と判定された場合(ステップS307:Yes)は、処理をステップS308に移行する。
【0053】
ステップS307において、新規フォルダではないと判定された場合(ステップS307:No)は、処理をステップS309に移行する。
【0054】
ステップS308では、文書検索装置110のインデックス管理部113でインデックスを一行追加する。インデックスの追加処理の一例を、図8のデータ810に示す。ダミーファイル、更新ファイル欄のカウントを+1、source欄を空白としてインデックスに一行追加する。
【0055】
新規フォルダはその配下にどれだけのフォルダや階層構造があるか不明なため、クロール処理にかかる時間が予測できない。この回避策として本発明では、新規フォルダ配下のクロールは次回のクロールにて処理をするものとする。ここで、次回のクロール対象とするためには、パス名802をインデックスに残す必要があるため、ステップS308でインデックスに1行追加する処理を行った。
【0056】
図8のデータ810に示したインデックスの追加処理は、ダミーファイルを挿入することでフォルダ情報を残す方法の一例である。文書ファイルのテキスト情報を持たないため、基本的には検索者の検索結果に表示されず、特別な処理は必要ない。ただし、アスタリスク(*)を用いた全件検索を行った場合、検索結果に表示される可能性があるため、インデックスにフラグを用意して、検索結果に表示されない情報として識別できるようにしてもよい。また、図にはないがフォルダ情報を残す手段として、インデックスとは別にフォルダリストを作成してもよい。
【0057】
ステップS309において、処理対象のファイルが削除フォルダであると判定された場合(インデックス管理部113に登録されているものの、ステップS305の処理で取得されなかったフォルダである場合)(ステップS309:Yes)は、処理をステップS310に移行する。
【0058】
ステップS309において、削除フォルダではないと判定された場合(ステップS309:No)は、処理をステップS311に移行する。
【0059】
ステップS310では、文書検索装置110のインデックス管理部113でインデックスの該当行を削除する。インデックスが削除された一例を、図8のデータ807に示す。
【0060】
ステップS311では、文書検索装置110のクローラ112がファイルサーバ120から文書ファイルを取得する。ここで取得されるファイルは、既存フォルダの配下にあるファイルであり、追加または更新されたファイルである。すなわち、差分クロールを行う処理となる。
【0061】
ステップS312でファイルサーバ120は、ステップS311における文書ファイル取得処理の結果を、文書検索装置110に返却する。
【0062】
ステップS313において、追加ファイルであると判定された場合(ステップS313:Yes)は、処理をステップS314に移行する。
【0063】
ステップS313において、追加ファイルではない(更新ファイルである)と判定された場合(ステップS313:No)は、処理をステップS315に移行する。
【0064】
ステップS314では、文書検索装置110のインデックス管理部113でインデックスを一行追加する。インデックスの追加処理の一例を、図8のデータ809に示す。ステップS312においてファイルサーバ120が文書検索装置110に返却した文書ファイルデータの情報と、更新ファイル欄805を+1としてインデックスに一行追加する。
【0065】
ステップS315では、文書検索装置110のインデックス管理部113でインデックスの該当行を更新する。インデックスの更新処理の一例を、図8のデータ808に示す。ステップS312においてファイルサーバ120が文書検索装置110に返却した文書ファイルデータの情報と、更新ファイル欄805を+1としてインデックスを更新する。
【0066】
ステップS316では、ステップS306の繰り返し処理に戻る。フォルダリスト分割範囲内の差分ファイルのインデックスの更新が完了すると繰り返し処理は終了する。
【0067】
ステップS317では、ステップS303の繰り返し処理に戻る。分割されたフォルダリストすべてのクロールが実施されると繰り返し処理は終了する。
【0068】
続いて図4の説明に移る。
【0069】
図4は、本発明の実施形態における、情報処理システムのクロール単位分割処理の一例を示すフローチャートである。本例は、均一にクロール単位を分割する処理を示す。
【0070】
ステップS401では、文書検索装置110のインデックス管理部113にあるインデックスのパス名802から前回クロール時点でのファイルサーバ120のフォルダリストを取得する。
【0071】
ステップS402では、ステップS401で取得したフォルダリストをもとに管理者が指定したフォルダ毎に分割する。フォルダリストの分割方法として、一例を図6に示す。本実施例では、4フォルダ毎にフォルダリストを分割している。
【0072】
尚、全体のフルクロールにかかった時間が分かっている場合、(全体のフルクロールにかかった時間)÷(1回のクロールにかける時間)からフォルダリストを何分割するか決める方法でもよい。いずれの方法も管理者が指定した値をもとにフォルダリストを分割することで、クロール単位を決める。
【0073】
ステップS403は、ステップS402においてフォルダリストがいくつに分割されたかを示すデータである。
【0074】
続いて図5の説明に移る。
【0075】
図5は、本発明の実施形態における、情報処理システムのクロール単位分割処理の一例を示すフローチャートである。本例は、フォルダ階層を考慮してクロール単位を分割する処理を示す。
【0076】
ステップS501では、文書検索装置110のインデックス管理部113にあるインデックスのパス名802から前回クロール時点でのファイルサーバ120のフォルダリストを取得する。
【0077】
ステップS502では、ステップS501で取得したフォルダリストを管理者が決めた階層のフォルダ毎に分割する。
【0078】
フォルダリストの分割方法として、一例を図7に示す。本実施例では、2階層目のフォルダ毎にフォルダリストを分割している。
【0079】
例えば、分割フォルダリスト701は、ルートディレクトリから2階層目にある「¥¥file-server¥01_開発部¥案件管理」フォルダがでてきたらフォルダリストを分割する。この際、フォルダ構成上、フォルダ直下にファイルが保管されていない可能性が高いと考えられる、上位の「¥¥file-server」フォルダと「¥¥file-server¥01_開発部」フォルダを分割フォルダリスト701に含める。
【0080】
また分割フォルダリスト702は、分割フォルダリスト701と同様、ルートディレクトリから2階層目にある「¥¥file-server¥01_開発部¥製品」フォルダで分割する。この際、フォルダ配下の「¥¥file-server¥01_開発部¥製品¥マニュアル」フォルダと「¥¥file-server¥01_開発部¥製品¥設計書」フォルダは分割フォルダリスト702に含まれる。
【0081】
ステップS503は、ステップS502においてフォルダリストがいくつに分割されたかを示すデータである。
【0082】
ステップS504では、文書検索装置110のインデックス管理部113にあるインデックスの更新ファイル数を、ステップS502で分割した分割フォルダリスト毎に集計する。更新ファイル数の一例を、図8のカラム805に示す。ファイルサーバ120に新規フォルダ、追加ファイル、更新ファイルがあったとき更新ファイルカラム905がカウントされる。
【0083】
ステップS505では、ステップS502で分割した分割フォルダリスト全てにクロール頻度を設定するまで繰り返す。
【0084】
ステップS506において、分割フォルダリスト内に新規フォルダがあると判定された場合(ステップS506:Yes)は、処理をステップS507に移行する。
【0085】
ステップS506において、分割フォルダリスト内に新規フォルダがないと判定された場合(ステップS506:No)は、処理をステップS508に移行する。
【0086】
ステップS507では、管理者が指定した値(第3の値)にクロール頻度を設定する。
【0087】
新規フォルダはその配下にどれだけのフォルダや階層構造があるか不明なため、クロール処理にかかる時間が予測できない。この回避策として今回は、新規フォルダ配下のクロールは次回とする処理を想定している。しかし、このままでは新規フォルダ配下の文書ファイル情報の結果反映までに時間がかかることになるため、クロール頻度を高め(第3の値)に設定することで、文書検索結果反映までの時間を短縮できる可能性を高める。
【0088】
ステップS508において、分割フォルダリスト内の更新頻度が高いと判定された場合(ステップS508:Yes)は、処理をステップS509に移行する。更新頻度については、例えば1日1回以上更新されている場合には更新頻度が高いと判定するなど、予め設定された条件に基づき判定されるものとする。
【0089】
ステップS508において、分割フォルダリスト内の更新頻度が低いと判定された場合(ステップS508:No)は、処理をステップS510に移行する。
【0090】
ステップS509では、管理者が指定した値(第2の値)にクロール頻度を設定する。
【0091】
ファイルの更新頻度が高い分割フォルダリストのクロール頻度を高く設定することで、文書検索結果反映までの時間を短縮できる可能性を高める。
【0092】
ステップS510では、管理者が指定した値(第1の値)にクロール頻度を設定する。
ファイルの更新頻度が低い分割フォルダリストのクロール頻度を低く設定することで、余計なクロール処理を削減し、更新頻度の高い分割フォルダリストのクロール処理を優先的に実施することで、文書検索結果反映までの時間を短縮できる可能性を高める。
【0093】
ステップS511では、ステップS505の繰り返し処理に戻る。分割されたフォルダリスト全てにクロール頻度を設定すると繰り返し処理は終了する。
【0094】
上述の通り、第2の値には、第1の値よりもクロール頻度が高くなる値が設定される。また、第3の値には、第1の値よりもクロール頻度が高くなる値が設定される。
【0095】
続いて図6の説明に移る。
【0096】
図6は、ステップS301において文書検索装置110のクローラ112が、フォルダリストの分割処理を行う際、図4が示すフローチャートでフォルダリストを均等に分割するときの一例を示す図である。本実施例では、4フォルダ毎にフォルダリストを分割している。
【0097】
続いて図7の説明に移る。
【0098】
図7は、ステップS301において文書検索装置110のクローラ112が、フォルダリストの分割処理を行う際、図5が示すフローチャートでフォルダ構成を考慮してフォルダリストを分割するときの一例を示す図である。本実施例では、ルートディレクトリから2階層目のフォルダ毎にフォルダリストを分割している。
【0099】
尚、図6図7について、いずれもフォルダリストの分割方法を示す一例であり、これらを組み合わせてフォルダリスト分割を行ってもよい。例えば、部署ごとにクロールを実施したいため、部署を示す階層までは図7で示すフォルダリスト分割を行い、部署フォルダ配下のフォルダについては、図6で示す管理者が指定した値でフォルダリストを均等に分割するとしてもよい。
【0100】
続いて図8の説明に移る。
【0101】
図8は、文書検索装置110のインデックス管理部113が管理しているインデックス800の一例を示す図である。
【0102】
インデックス800は、文書検索装置110のクローラ112がファイルサーバ120にクロールするときや、フォルダリストを分割するときに使用される。具体的には、図3のフローチャートで示す、ステップS301、ステップS304、ステップS311などで使用される。
【0103】
インデックス800は、文書ファイル情報が登録されており、インデックスコード801、パス名802、ファイル名803、最終クロール日時804、更新ファイル805、source806等の項目から構成される。尚、図8に新規フォルダの情報であることを示すフラグの項目はないが追加してもよい。
【0104】
これら文書ファイル情報は、検索者の文書検索結果に利用される。検索キーワードがsource806の文書ファイルのテキスト情報に含まれていると、クライアントPC100へ文書検索結果が返却される。
【0105】
以上説明した通り、本発明では、文書ファイルが更新された場合、差分クロールの単位を分割することで、初期段階でクロール処理された文書ファイルについては、文書検索結果に早く反映されることを特徴とする。特に、差分クロール単位を分割することで、更新頻度が高い箇所についてピンポイントでクロール頻度を上げる設定が可能となり、文書検索者は最新の文書ファイル情報を短時間で取得できる可能性が高まる。
【0106】
尚、本実施例では、ファイルサーバで管理されている文書ファイルをクロールする例を用いて説明したが、本発明は、類似する文書管理システム等にも適応可能である。
【0107】
以上、本発明の実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0108】
また、本発明におけるプログラムは、図3図4図5に示すフローチャートの処理方法をコンピュータが実行可能なプログラムであり、本発明の記憶媒体は図3図4図5の処理方法をコンピュータが実行可能なプログラムが記憶されている。なお、本発明におけるプログラムは図3の各装置の処理方法ごとのプログラムであってもよい。
【0109】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムを読み出し、実行することによっても本発明の目的が達成されることは言うまでもない。
【0110】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した記録媒体は本発明を構成することになる。
【0111】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM、CD-R、DVD-ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM、シリコンディスク等を用いることが出来る。
【0112】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0113】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0114】
また、本発明は、複数の機器から構成されるシステムに適用しても、ひとつの機器から成る装置に適用しても良い。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適用できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0115】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【0116】
100 クライアントPC
101 表示部
110 文書検索装置
111 文書検索部
112 クローラ
113 インデックス管理部
120 ファイルサーバ
121 ファイル管理部
122 ファイル送受信部
図1
図2
図3
図4
図5
図6
図7
図8
図9