(57)【要約】【課題】コンテンツの検索に用いるインデックスを作成する。【解決手段】インデックスを用いて、データベースに格納されたコンテンツデータを検索する検索システムであって、前記インデックスとするデータ項目を示すインデックス対象項目と、前記コンテンツデータを前記データベースから取得するための取得条件とを含む集合定義を登録する第１の登録手段と、前記第１の登録手段により集合定義が登録されると、該集合定義に含まれる前記取得条件を満たすコンテンツデータを前記データベースから取得する取得手段と、前記取得手段により取得されたコンテンツデータにおいて、前記集合定義に含まれる前記インデックス対象項目を抽出して、前記インデックスを生成する生成手段と、を有する。【選択図】図７
2017045236.tif 000002
【特許請求の範囲】
【請求項１】
インデックスを用いて、データベースに格納されたコンテンツデータを検索する検索システムであって、
前記インデックスとするデータ項目を示すインデックス対象項目と、前記コンテンツデータを前記データベースから取得するための取得条件とを含む集合定義を登録する第１の登録手段と、
前記第１の登録手段により集合定義が登録されると、該集合定義に含まれる前記取得条件を満たすコンテンツデータを前記データベースから取得する取得手段と、
前記取得手段により取得されたコンテンツデータにおいて、前記集合定義に含まれる前記インデックス対象項目を抽出して、前記インデックスを生成する生成手段と、
を有する検索システム。
【請求項２】
コンテンツデータを前記データベースに登録する第２の登録手段と、
前記第２の登録手段により前記コンテンツデータが前記データベースに登録されると、該コンテンツデータが、前記第１の登録手段により登録された集合定義に含まれる取得条件を満たすか否かを判定する判定手段とを有し、
前記生成手段は、
前記判定手段により前記コンテンツデータが前記取得条件を満たすと判定された場合、該コンテンツデータにおいて、前記インデックス対象項目を抽出して、前記インデックスを生成する、請求項１に記載の検索システム。
【請求項３】
前記生成手段は、
前記コンテンツデータにおいて、前記インデックス対象項目が含まれない場合、該インデックス対象項目を所定の値に設定して、前記インデックスを生成する、請求項１又は２に記載の検索システム。
【請求項４】
前記所定の値は、空白又は空値である、請求項３に記載の検索システム。
【請求項５】
前記データベースには、第１のデータ構造で表される第１のコンテンツデータと、第２のデータ構造で表される第２のコンテンツデータとを含むコンテンツデータが格納される、請求項１ないし４のいずれか１項に記載の検索システム。
【請求項６】
インデックスを用いて、データベースに格納されたコンテンツデータを検索する検索装置であって、
前記インデックスとするデータ項目を示すインデックス対象項目と、前記コンテンツデータを前記データベースから取得するための取得条件とを含む集合定義を登録する第１の登録手段と、
前記第１の登録手段により集合定義が登録されると、該集合定義に含まれる前記取得条件を満たすコンテンツデータを前記データベースから取得する取得手段と、
前記取得手段により取得されたコンテンツデータにおいて、前記集合定義に含まれる前記インデックス対象項目を抽出して、前記インデックスを生成する生成手段と、
を有する検索装置。
【請求項７】
インデックスを用いて、データベースに格納されたコンテンツデータを検索する検索装置を、
前記インデックスとするデータ項目を示すインデックス対象項目と、前記コンテンツデータを前記データベースから取得するための取得条件とを含む集合定義を登録する第１の登録手段、
前記第１の登録手段により集合定義が登録されると、該集合定義に含まれる前記取得条件を満たすコンテンツデータを前記データベースから取得する取得手段、
前記取得手段により取得されたコンテンツデータにおいて、前記集合定義に含まれる前記インデックス対象項目を抽出して、前記インデックスを生成する生成手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検索システム、検索装置、及びプログラムに関する。
【背景技術】
【０００２】
文書等のコンテンツデータが格納されたデータベースから目的のコンテンツデータを検索する検索システムが従来から知られている。このような検索システムで用いられる検索方法には、コンテンツデータに含まれる特定のデータ項目をインデックスとして予め作成した上で、当該インデックスを用いて検索を行う属性検索又は項目検索と呼ばれる方法が知られている。
【０００３】
また、文書データの検索において、文書の書式データを用いてインデックスを作成する技術が従来から知られている（例えば特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の従来技術では、データ構造が異なるコンテンツデータがデータベースに存在する場合には、これらのコンテンツデータに対して共通のインデックスを作成することができないことがあった。
【０００５】
例えば、あるコンテンツデータのデータ項目が「タイトル」、「作成者」、及び「本文」である一方で、別のコンテンツデータのデータ項目が「撮影日」、「作成者」、及び「撮影者」であるとする。このような場合、これらのコンテンツデータを検索するために共通に用いるインデックスであって、例えばデータ項目「タイトル」と「作成者」を検索キーとするインデックスを作成することができなかった。
【０００６】
本発明の一実施形態は、上記の点に鑑みてなされたもので、コンテンツの検索に用いるインデックスを作成することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明の一実施形態は、インデックスを用いて、データベースに格納されたコンテンツデータを検索する検索システムであって、前記インデックスとするデータ項目を示すインデックス対象項目と、前記コンテンツデータを前記データベースから取得するための取得条件とを含む集合定義を登録する第１の登録手段と、前記第１の登録手段により集合定義が登録されると、該集合定義に含まれる前記取得条件を満たすコンテンツデータを前記データベースから取得する取得手段と、前記取得手段により取得されたコンテンツデータにおいて、前記集合定義に含まれる前記インデックス対象項目を抽出して、前記インデックスを生成する生成手段と、を有する。
【発明の効果】
【０００８】
本発明の一実施形態によれば、コンテンツの検索に用いるインデックスを作成することができる。
【図面の簡単な説明】
【０００９】
【図１】第一の実施形態の検索システムのシステム構成の一例を示す図である。
【図２】第一の実施形態のコンピュータのハードウェア構成の一例を示す図である。
【図３】第一の実施形態の検索システムの機能構成の一例を示す図である。
【図４】コンテンツＤＢの一例を示す図である。
【図５】集合定義ＤＢの一例を示す図である。
【図６】コンテンツ集合ＤＢの一例を示す図である。
【図７】第一の実施形態の集合定義の登録処理の一例を示すシーケンス図である。
【図８】集合定義の登録画面の一例を示す図である。
【図９】第一の実施形態のコンテンツ集合の生成処理の一例を示すフローチャートである。
【図１０】第一の実施形態のコンテンツの登録処理の一例を示すシーケンス図である。
【図１１】コンテンツの登録画面の一例を示す図である。
【図１２】第一の実施形態のコンテンツ集合への追加処理の一例を示すフローチャートである。
【図１３】第一の実施形態のコンテンツ集合の表示処理の一例を示すシーケンス図である。
【図１４】コンテンツ一覧画面の一例を示す図である。
【図１５】第一の実施形態のコンテンツの検索処理の一例を示すシーケンス図である。
【図１６】コンテンツ検索画面及び検索結果画面を示す図である。
【図１７】第二の実施形態の検索システムの機能構成の一例を示す図である。
【図１８】第二の実施形態の集合定義の更新処理の一例を示すシーケンス図である。
【図１９】集合定義の更新画面の一例を示す図である。
【図２０】第三の実施形態の検索システムの機能構成の一例を示す図である。
【図２１】第三の実施形態のコンテンツの削除処理の一例を示すシーケンス図である。
【図２２】コンテンツの削除画面の一例を示す図である。
【図２３】第三の実施形態のコンテンツ集合の更新処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
次に、本発明の実施の形態について、図面を参照しながら詳細に説明する。
【００１１】
［第一の実施形態］
＜システム構成＞
まず、第一の実施形態の検索システム１について、図１を参照しながら説明する。図１は、第一の実施形態の検索システムのシステム構成の一例を示す図である。
【００１２】
図１に示す検索システム１は、端末装置１０及び検索装置２０を有し、ＬＡＮ（Local Area Network）等のネットワークＮを介して通信可能に接続されている。
【００１３】
端末装置１０は、検索システム１の利用者（ユーザ）が用いるデスクトップ型ＰＣやノート型ＰＣ、スマートフォン、タブレット端末等の電子機器である。端末装置１０には、検索装置２０に登録されたコンテンツを検索するための端末プログラム３０がインストールされている。これより、ユーザは、端末装置１０にインストールされた端末プログラム３０を用いて、検索装置２０に登録されたコンテンツを検索することができる。
【００１４】
また、ユーザは、端末装置１０にインストールされた端末プログラム３０を用いて、コンテンツの検索に用いるインデックスを検索装置２０に登録することができる。
【００１５】
ここで、コンテンツとは、例えば、報告書や請求書等のドキュメント、画像、動画、音楽、アプリケーションプログラム等である。したがって、コンテンツを示すコンテンツデータは、検索装置２０に登録され、検索対象となるドキュメントデータ、画像データ、動画データ、音楽データ、プログラムデータ等である。
【００１６】
このように、本実施形態の検索装置２０には、種々のコンテンツが登録されているものとする。換言すれば、本実施形態の検索装置２０には、データ構造が異なる種々のコンテンツデータが登録されている。なお、同一種類のコンテンツデータであってもデータ構造が異なる場合もあり得る。例えば、報告書のドキュメントデータと、請求書のドキュメントデータとのデータ構造が異なる場合もあり得る。
【００１７】
検索装置２０は、コンテンツやインデックスを管理する情報処理装置である。検索装置２０には、インデックスの作成や登録、インデックスを用いたコンテンツデータの検索を行う検索プログラム４０がインストールされている。
【００１８】
本実施形態では、検索装置２０に検索プログラム４０がインストールされることにより、データ構造が異なる種々のコンテンツデータに対して共通のインデックスを作成及び登録することができるようになる。このため、本実施形態の検索装置２０には、様々なデータ構造のコンテンツデータを共通のインデックスを用いて検索することができる。
【００１９】
また、本実施形態の検索装置２０では、既に格納されているコンテンツデータのデータ構造が変更になった場合等においても、当該コンテンツデータを検索するためのインデックスを再作成等する必要がない。換言すれば、本実施形態の検索装置２０では、インデックスに影響を与えることなく、格納されているコンテンツデータのデータ構造を動的に変更することができる。
【００２０】
なお、図１に示す例では、検索装置２０が１台の情報処理装置で構成されている場合を示しているが、検索装置２０は、２台以上の情報処理装置で構成されていても良い。
【００２１】
＜ハードウェア構成＞
次に、第一の実施形態の端末装置１０及び検索装置２０のハードウェア構成について、図２を参照しながら説明する。図２は、第一の実施形態のコンピュータのハードウェア構成の一例を示す図である。
【００２２】
図２に示すコンピュータ３００は、入力装置１１、表示装置１２、外部Ｉ／Ｆ１３、及びＲＡＭ（Random Access Memory）１４を有する。また、コンピュータ３００は、ＲＯＭ（Read Only Memory）１５、ＣＰＵ（Central Processing Unit）１６、通信Ｉ／Ｆ１７、及びＨＤＤ１８を有する。これら各ハードウェア構成は、バスＢにより相互に接続されている。
【００２３】
入力装置１１は、キーボードやマウス、タッチパネル等を含み、コンピュータ３００に各種信号を入力するのに用いられる。表示装置１２は、ディスプレイ等を含み、各種の処理結果を表示する。なお、検索装置２０は、入力装置１１及び／又は表示装置１２を、必要なときにバスＢに接続して利用する形態であっても良い。
【００２４】
外部Ｉ／Ｆ１３は、外部装置とのインタフェースである。外部装置には、例えば、ＣＤ（Compact Disk）やＤＶＤ（Digital Versatile Disk）、ＳＤメモリカード(SD memory card）、ＵＳＢメモリ（Universal Serial Bus memory）等の記録媒体がある。コンピュータ３００は、外部Ｉ／Ｆ１３を介して記録媒体の読み取り及び／又は書き込みを行うことができる。
【００２５】
ＲＡＭ１４は、プログラムやデータを一時保存する揮発性の半導体メモリ（記憶装置）である。ＲＯＭ１５は、電源を切ってもデータを保持することができる不揮発性の半導体メモリ（記憶装置）である。ＣＰＵ１６は、例えばＨＤＤ１８やＲＯＭ１５等からプログラムやデータをＲＡＭ１４上に読み出して、各種処理を実行する演算装置である。
【００２６】
通信Ｉ／Ｆ１７は、コンピュータ３００をネットワークＮに接続するためのインタフェースである。
【００２７】
ＨＤＤ１８は、プログラムやデータを格納している不揮発性のメモリ（記憶装置）である。ＨＤＤ１８に格納されるプログラムやデータには、例えば、端末プログラム３０や検索プログラム４０、コンピュータ３００の全体を制御する基本ソフトウェアであるＯＳ（Operating System）、ＯＳ上で動作する各種プログラム等がある。なお、コンピュータ３００は、ＨＤＤ１８の代わりに又はＨＤＤ１８と併せて、ＳＳＤ（Solid State Drive）等の不揮発性のメモリ（記憶装置）を用いても良い。
【００２８】
本実施形態の端末装置１０及び検索装置２０は、図２に示すようなコンピュータ３００により後述する各種処理を実現することができる。
【００２９】
＜機能構成＞
次に、第一の実施形態の検索システム１の機能構成について、図３を参照しながら説明する。図３は、第一の実施形態の検索システムの機能構成の一例を示す図である。
【００３０】
図３に示す端末装置１０は、入力受付部１０１、登録要求部１０２、取得要求部１０３、検索要求部１０４、及び表示制御部１０５を有する。これら各部は、端末装置１０にインストールされた端末プログラム３０が、ＣＰＵ１６に実行させる処理により実現される。
【００３１】
入力受付部１０１は、ユーザからの各種の入力操作を受け付ける。例えば、入力受付部１０１は、インデックスを生成するための集合定義の登録操作や、コンテンツを登録するためのコンテンツの登録操作を受け付ける。また、例えば、入力受付部１０１は、コンテンツを検索するための検索操作や、コンテンツを表示させるための表示操作を受け付ける。
【００３２】
ここで、本実施形態の検索システム１では、ユーザにより設定（定義）された集合定義に基づいて、検索装置２０に登録されているコンテンツの部分集合であるコンテンツ集合を生成する。そして、本実施形態の検索システム１では、集合定義に基づき生成されたコンテンツ集合をインデックスとして用いる。なお、集合定義及びコンテンツ集合の詳細については後述する。
【００３３】
登録要求部１０２は、入力受付部１０１が受け付けた入力操作に応じて、集合定義の登録要求やコンテンツの登録要求を検索装置２０に送信する。
【００３４】
取得要求部１０３は、入力受付部１０１が受け付けた入力操作に応じて、コンテンツ集合を表示装置１２に表示させるためのコンテンツ集合の取得要求を検索装置２０に送信する。また、取得要求部１０３は、入力受付部１０１が受け付けた入力操作に応じて、ユーザにより選択されたコンテンツを表示装置１２に表示させるためのコンテンツの取得要求を検索装置２０に送信する。
【００３５】
検索要求部１０４は、入力受付部１０１が受け付けた入力操作に応じて、コンテンツ集合から所望のコンテンツを検索するためのコンテンツの検索要求を検索装置２０に送信する。
【００３６】
表示制御部１０５は、表示装置１２に各種画面を表示させる。例えば、表示制御部１０５は、入力受付部１０１が受け付けた表示操作に応じて、集合定義の登録画面やコンテンツの登録画面等を表示装置１２に表示させる。また、例えば、表示制御部１０５は、検索装置２０からの返信に応じて、検索装置２０で管理されているコンテンツ集合を表示するコンテンツ一覧画面や、検索装置２０で検索された検索結果画面等を表示装置１２に表示させる。
【００３７】
図３に示す検索装置２０は、登録処理部２０１、集合取得処理部２０２、検索処理部２０３、及びコンテンツ取得処理部２０４を有する。これら各部は、検索装置２０にインストールされた検索プログラム４０が、ＣＰＵ１６に実行させる処理により実現される。
【００３８】
また、図３に示す検索装置２０は、コンテンツデータベース２０５、集合定義データベース２０６、及びコンテンツ集合データベース２０７を有する。これら各データベース（以下、「ＤＢ」と表す）は、ＨＤＤ１８により実現可能である。
【００３９】
なお、これら各ＤＢは、検索装置２０とネットワークＮを介して接続される記憶装置等により実現されていても良い。すなわち、検索装置２０は、コンテンツＤＢ２０５、集合定義ＤＢ２０６、及びコンテンツ集合ＤＢ２０７のうちの少なくとも１つのＤＢを有するＤＢサーバとネットワークＮを介して接続されていても良い。
【００４０】
登録処理部２０１は、集合定義の登録処理及びコンテンツの登録処理を行う。ここで、集合定義の登録処理とは、ユーザにより定義された集合定義に基づいてコンテンツ集合を生成する処理である。一方、コンテンツの登録処理とは、ユーザにより作成されたコンテンツを登録して、当該コンテンツを該当のコンテンツ集合に追加する処理である。なお、登録処理部２０１は、登録部２１１、取得部２１２、判定部２１３、インデックス部２１４、及び集合部２１５を有する。これら各部の詳細については、後述する。
【００４１】
集合取得処理部２０２は、コンテンツ集合の取得要求に応じて、コンテンツ集合ＤＢ２０７からコンテンツ集合を構成するコンテンツ集合データを取得する。
【００４２】
検索処理部２０３は、コンテンツの検索要求に応じて、コンテンツ集合を検索して、コンテンツ集合データを取得する。
【００４３】
コンテンツ取得処理部２０４は、コンテンツの取得要求に応じて、コンテンツＤＢ２０５から該当のコンテンツデータを取得する。
【００４４】
コンテンツＤＢ２０５は、コンテンツを示すコンテンツデータを管理する。ここで、コンテンツＤＢ２０５の詳細について、図４を参照しながら説明する。図４は、コンテンツＤＢの一例を示す図である。
【００４５】
コンテンツＤＢ２０５には、複数の種類のコンテンツを示すコンテンツデータが管理されている。すなわち、コンテンツＤＢ２０５には、例えば図４（ａ）〜図４（ｃ）に示すように、異なるデータ構造のコンテンツデータが管理されている。すなわち、コンテンツＤＢ２０５には、それぞれ異なるデータ構造のコンテンツデータが格納されるコンテンツテーブル２０５Ａ〜２０５Ｃが格納されている。
【００４６】
図４（ａ）に示すコンテンツテーブル２０５Ａには、例えば報告書を示すコンテンツデータが格納される。コンテンツテーブル２０５Ａに格納されるコンテンツデータは、データ項目として、コンテンツＩＤ、タイトル、作成者、ステータス、及び本文を有する。コンテンツＩＤは、検索システム１においてコンテンツデータを一意に識別する識別情報である。タイトルは、報告書の題名である。作成者は、報告書を作成したユーザの名前である。ステータスは、例えば、報告書が作成中、承認中、又は承認済のいずれであるかを示す情報である。本文は、報告書の内容である。
【００４７】
図４（ｂ）に示すコンテンツテーブル２０５Ｂには、例えば設計書を示すコンテンツデータが格納される。コンテンツテーブル２０５Ｂに格納されるコンテンツデータは、データ項目として、コンテンツＩＤ、区分、記載者、管理組織、及び記載内容を有する。コンテンツＩＤは、上記と同様に、コンテンツデータを一意に識別する識別情報である。区分は、例えば、設計書が機密文書又は公開文書のいずれであるかを示す情報である。記載者は、設計書を記載したユーザの名前である。管理組織は、設計書を管理している組織名である。記載内容は、設計書の設計内容である。
【００４８】
図４（ｃ）に示すコンテンツテーブル２０５Ｃには、例えば会議をビデオ録画したコンテンツデータが格納される。コンテンツテーブル２０５Ｃに格納されるコンテンツデータは、データ項目として、コンテンツＩＤ、区分、タイトル、撮影者、撮影日時、作成者、ステータス、及び撮影内容を有する。コンテンツＩＤは、上記と同様に、コンテンツデータを一意に識別する識別情報である。区分は、例えば、当該コンテンツデータが機密データ又は公開データのいずれであるかを示す情報である。タイトルは、当該コンテンツデータの題名である。撮影者は、会議を撮影した人の名前である。撮影日時は、会議の撮影日時である。作成者は、当該コンテンツデータを作成したユーザの名前である。ステータスは、例えば、当該コンテンツデータが作成中、承認中、又は承認済のいずれであるかを示す情報である。撮影内容は、ビデオ録画の内容である。
【００４９】
以上のように、本実施形態の検索装置２０のコンテンツＤＢ２０５には、様々なデータ構造を有するコンテンツデータが管理されている。なお、上記では、コンテンツＤＢ２０５に３種類のデータ構造のコンテンツデータが格納されている場合について示したが、これに限られず、コンテンツＤＢ２０５には、任意の種類のコンテンツデータが格納されていて良い。
【００５０】
集合定義ＤＢ２０６は、コンテンツ集合を生成するための集合定義を示す集合定義データを管理する。ここで、集合定義ＤＢ２０６の詳細について、図５を参照しながら説明する。図５は、集合定義ＤＢの一例を示す図である。
【００５１】
図５に示す集合定義ＤＢ２０６に格納される集合定義データは、データ項目として、集合定義ＩＤ、抽出条件、及びインデックス対象属性を有する。集合定義ＩＤは、検索システム１において集合定義データを一意に識別する識別情報である。抽出条件は、コンテンツＤＢ２０５からコンテンツデータを抽出するための条件である。インデックス対象属性は、インデックスとするコンテンツデータのデータ項目（属性）である。
【００５２】
例えば、集合定義ＩＤ「Ｐ−１」の集合定義データは、抽出条件が「ステータス＝作成中」、インデックス対象属性が「タイトル」と「作成者」である。これは、コンテンツＤＢ２０５からデータ項目「ステータス」が「作成中」であるコンテンツデータを抽出して、当該抽出されたコンテンツデータのデータ項目「タイトル」と「作成者」を、コンテンツ集合データとしてコンテンツ集合を生成すること示している。
【００５３】
同様に、例えば、集合定義「Ｐ−２」の集合定義データは、抽出条件が「区分＝機密」、インデックス対象属性が「管理組織」である。これは、コンテンツＤＢ２０５からデータ項目「区分」が「機密」であるコンテンツデータを抽出して、当該抽出されたコンテンツデータのデータ項目「管理組織」を、コンテンツ集合データとしてコンテンツ集合を生成することを示している。
【００５４】
以上のように、本実施形態の検索装置２０の集合定義ＤＢ２０６には、コンテンツ集合データを生成するための集合定義データが管理されている。なお、後述するように、集合定義データにより示される集合定義は、ユーザにより定義（設定）されて検索装置２０に登録される。
【００５５】
コンテンツ集合ＤＢ２０７は、コンテンツの部分集合であるコンテンツ集合を構成するコンテンツ集合データを管理する。ここで、コンテンツ集合ＤＢ２０７の詳細について、図６を参照しながら説明する。図６は、コンテンツ集合ＤＢの一例を示す図である。
【００５６】
コンテンツ集合ＤＢ２０７には、集合定義データに基づき生成されたコンテンツ集合データを管理する。すなわち、コンテンツ集合ＤＢ２０７には、例えば図６（ａ）〜図６（ｃ）に示すように、集合定義ＤＢ２０６で管理されている集合定義データに基づき生成されたコンテンツ集合データを格納するコンテンツ集合テーブル２０７Ａ〜２０７Ｃが格納されている。
【００５７】
図６（ａ）に示す集合定義テーブル２０７Ａは、集合定義ＩＤ「Ｐ−１」の集合定義データに基づいて生成されたコンテンツ集合データを格納している。
【００５８】
図６（ｂ）に示す集合定義テーブル２０７Ｂは、集合定義ＩＤ「Ｐ−２」の集合定義データに基づいて生成されたコンテンツ集合データを格納している。
【００５９】
図６（ｃ）に示す集合定義テーブル２０７Ｃは、集合定義ＩＤ「Ｐ−３」の集合定義データに基づいて生成されたコンテンツ集合データを格納している。
【００６０】
以上のように、本実施形態の検索装置２０のコンテンツ集合ＤＢ２０７には、集合定義データに基づき生成されたコンテンツ集合データが、コンテンツ集合テーブルに格納されて管理されている。
【００６１】
ここで、登録部２１１、取得部２１２、判定部２１３、インデックス部２１４、及び集合部２１５の詳細について説明する。
【００６２】
登録部２１１は、集合定義の登録処理において、集合定義の登録要求に含まれる集合定義データを集合定義ＤＢ２０６に格納する。また、登録部２１１は、コンテンツの登録処理において、コンテンツの登録要求に含まれるコンテンツデータをコンテンツＤＢ２０５に格納する。
【００６３】
取得部２１２は、集合定義の登録処理において、集合定義データが集合定義ＤＢ２０６に格納されると、コンテンツＤＢ２０５からコンテンツデータを取得する。また、取得部２１２は、コンテンツの登録処理において、コンテンツデータがコンテンツＤＢ２０５に格納されると、集合定義ＤＢ２０６から集合定義データを取得する。
【００６４】
判定部２１３は、集合定義の登録処理において、取得部２１２により取得されたコンテンツデータが、登録要求に係る集合定義データに含まれる抽出条件を満たすか否かを判定する。また、判定部２１３は、コンテンツの登録処理において、登録要求に係るコンテンツデータが、取得部２１２により取得された集合定義データに含まれる抽出条件を満たすか否かを判定する。
【００６５】
インデックス部２１４は、集合定義の登録処理において、判定部２１３の判定結果に応じて、取得部２１２により取得されたコンテンツデータと、登録要求に係る集合定義データに含まれるインデックス対象属性とに基づいて、コンテンツ集合データを生成する。また、インデックス部２１４は、コンテンツの登録処理において、判定部２１３の判定結果に応じて、登録要求に係るコンテンツデータと、取得部２１２により取得された集合定義データに含まれるインデックス対象属性とに基づいて、コンテンツ集合データを生成する。
【００６６】
すなわち、インデックス部２１４は、判定部２１３により抽出条件を満たすと判定されたコンテンツデータから、インデックス対象属性で示されるデータ項目を抽出してコンテンツ集合データを生成する。換言すれば、インデックス部２１４は、判定部２１３により抽出条件を満たすと判定されたコンテンツデータを、インデックス対象属性で示されるデータ項目でインデックス化してコンテンツ集合データを生成する。
【００６７】
集合部２１５は、集合定義の登録処理において、インデックス部２１４により生成されたコンテンツ集合データをコンテンツ集合テーブルに格納した上で、当該コンテンツ集合テーブルをコンテンツ集合ＤＢ２０７に格納する。また、集合部２１５は、コンテンツの登録処理において、インデックス部２１４により生成されたコンテンツ集合データを、取得部２１２により取得された集合定義データに対応するコンテンツ集合テーブルに格納（追加）する。
【００６８】
＜処理の詳細＞
次に、第一の実施形態の検索システム１の処理の詳細について説明する。
【００６９】
まず、ユーザＵ１が集合定義を定義して、検索装置２０に登録する処理について、図７を参照しながら説明する。図７は、第一の実施形態の集合定義の登録処理の一例を示すシーケンス図である。以降では、ユーザＵ１が図５で示した集合定義ＩＤ「Ｐ−１」の集合定義データにより示される集合定義を定義して、検索装置２０の集合定義ＤＢ２０６に格納する場合について説明する。
【００７０】
まず、ユーザＵ１は、端末装置１０の表示装置１２に集合定義の登録画面を表示させるための表示操作を行う（ステップＳ７０１）。すると、端末装置１０の入力受付部１０１は、当該表示操作を受け付ける。
【００７１】
端末装置１０の表示制御部１０５は、入力受付部１０１が集合定義の登録画面を表示させるための表示操作を受け付けると、例えば図８に示す集合定義の登録画面１０００を表示装置１２に表示させる（ステップＳ７０２）。
【００７２】
ここで、図８に示す集合定義の登録画面１０００は、ユーザＵ１が集合定義を定義して、検索装置２０に登録するための画面である。集合定義の登録画面１０００には、集合定義データに含まれる抽出条件を設定するための抽出条件設定欄１１００、及びインデックス対象属性を設定するための属性設定欄１２００が含まれる。また、集合定義の登録画面１０００には、抽出条件設定欄１１００及び属性設定欄１２００に設定された内容の集合定義を検索装置２０に登録するための登録ボタン１３００が含まれる。
【００７３】
なお、図８に示す集合定義の登録画面１０００には、属性設定欄１２００に属性１設定欄１２０１及び属性２設定欄１２０２が含まれる場合を示したが、これに限られない。属性設定欄１２００には、任意の数の属性設定欄が含まれて良い。
【００７４】
ユーザＵ１は、集合定義の登録画面１０００において、集合定義の登録操作を行う（ステップＳ７０３）。すなわち、ユーザＵ１は、集合定義の登録画面１０００において、例えば、抽出条件設定欄１１００を「ステータス＝作成中」と設定する。またユーザＵ１は、属性設定欄１２００の属性１設定欄１２０１を「タイトル」、属性２設定欄１２０２を「作成者」と設定し、登録ボタン１３００を押下して、集合定義の登録操作を行う。すると、端末装置１０の入力受付部１０１は、当該登録操作を受け付ける。
【００７５】
なお、抽出条件設定欄１１００には、コンテンツＤＢ２０５からコンテンツデータを抽出するための種々の条件式を設定することができる。例えば、抽出条件設定欄１１００に、コンテンツデータのデータ項目に対して関係代数や関係論理で表される条件式を設定しても良い。また、例えば、抽出条件設定欄１１００に、ＳＱＬを設定しても良い。
【００７６】
端末装置１０の登録要求部１０２は、入力受付部１０１が集合定義の登録操作を受け付けると、集合定義データが含まれる集合定義の登録要求を検索装置２０に送信する（ステップＳ７０４）。ここで、当該集合定義データには、集合定義の登録画面１０００においてユーザＵ１により設定された抽出条件及びインデックス対象属性、並びに登録要求部１０２により生成された集合定義ＩＤが含まれる。
【００７７】
検索装置２０の登録処理部２０１は、集合定義の登録要求を受信すると、登録部２１１により、当該登録要求に含まれる集合定義データを集合定義ＤＢ２０６に格納する（ステップＳ７０５）。これにより、ユーザＵ１により定義された集合定義が検索装置２０に登録される。
【００７８】
次に、検索装置２０の登録処理部２０１は、コンテンツ集合の生成処理を行う（ステップＳ７０６）。すなわち、登録処理部２０１は、登録した集合定義に基づいてコンテンツ集合を生成する。なお、コンテンツ集合の生成処理の詳細については後述する。
【００７９】
続いて、検索装置２０の登録処理部２０１は、コンテンツ集合を生成すると、集合定義が登録されたことを示す登録結果を端末装置１０に送信する（ステップＳ７０７）。
【００８０】
最後に、端末装置１０の表示制御部１０５は、集合定義が登録されたことを示す登録結果画面を表示装置１２に表示させる（ステップＳ７０８）。
【００８１】
以上により、本実施形態の検索システム１では、ユーザＵ１により定義された集合定義を検索装置２０に登録することができる。
【００８２】
次に、上記のステップＳ７０６におけるコンテンツ集合の生成処理の詳細について、図９を参照しながら説明する。図９は、第一の実施形態のコンテンツ集合の生成処理の一例を示すフローチャートである。
【００８３】
まず、登録処理部２０１の取得部２１２は、コンテンツＤＢ２０５からコンテンツデータを１件取得する（ステップＳ９０１）。
【００８４】
次に、登録処理部２０１の判定部２１３は、取得部２１２によりコンテンツデータが取得されると、当該コンテンツデータが、図７のステップＳ７０５で登録部２１１により登録された集合定義データの抽出条件を満たすか否かを判定する（ステップＳ９０２）。
【００８５】
例えば、集合定義データの抽出条件が「ステータス＝作成中」である場合、判定部２１３は、取得部２１２により取得されたコンテンツデータが、データ項目「ステータス」を有し、かつ、当該データ項目の値が「作成中」であるか否かを判定する。
【００８６】
ステップＳ９０２において、判定部２１３により抽出条件を満たすと判定された場合、インデックス部２１４は、当該コンテンツデータと、集合定義データに含まれるインデックス対象属性とに基づいて、コンテンツ集合データを生成する（ステップＳ９０３）。
【００８７】
すなわち、インデックス部２１４は、当該コンテンツデータを、インデックス対象属性が示すデータ項目でインデックス化してコンテンツ集合データを生成する。なお、このとき、インデックス対象属性が示すデータ項目のうち少なくとも一のデータ項目を、当該コンテンツデータが有しない場合、当該データ項目の値には、例えば、空白や空値（ＮＵＬＬ値）等が設定される。
【００８８】
より具体的には、インデックス対象属性が「タイトル」及び「作成者」である場合、インデックス部２１４は、当該コンテンツデータから「コンテンツＩＤ」、「タイトル」、及び「作成者」のデータ項目を抽出してコンテンツ集合データを生成する。このとき、インデックス部２１４は、当該コンテンツデータが、例えば「タイトル」のデータ項目を有しない場合、「タイトル」のデータ項目に空白や空値等を設定してコンテンツ集合データを生成する。同様に、インデックス部２１４は、当該コンテンツデータが、例えば「作成者」のデータ項目を有しない場合、「作成者」のデータ項目に空白や空値等を設定してコンテンツ集合データを生成する。
【００８９】
ステップＳ９０２において、判定部２１３により抽出条件を満たさないと判定された場合、登録処理部２０１は、ステップＳ９０４に進む。
【００９０】
続いて、登録処理部２０１の取得部２１２は、次のコンテンツデータがコンテンツＤＢ２０５に存在するか否かを判定する（ステップＳ９０４）。
【００９１】
ステップＳ９０４において、取得部２１２により次のコンテンツデータがコンテンツＤＢ２０５に存在すると判定された場合、登録処理部２０１は、ステップＳ９０１に戻る。すなわち、登録処理部２０１は、コンテンツＤＢ２０５に格納されている全てのコンテンツデータに対してステップＳ９０１〜ステップＳ９０４の処理を行う。
【００９２】
ステップＳ９０４において、取得部２１２により次のコンテンツデータがコンテンツＤＢ２０５に存在しないと判定された場合、集合部２１５は、集合定義データに含まれる集合定義ＩＤと対応付けたコンテンツ集合テーブルを生成する。そして、集合部２１５は、上記のステップＳ９０５でインデックス部２１４により生成されたコンテンツ集合データを当該コンテンツ集合テーブルに格納した上で、当該コンテンツ集合テーブルをコンテンツ集合ＤＢ２０７に格納する（ステップ９０５）。
【００９３】
より具体的には、集合定義データに含まれる集合定義ＩＤが「Ｐ−１」である場合、集合部２１５は、集合定義ＩＤが「Ｐ−１」であるコンテンツ集合テーブルを作成する。そして、集合部２１５は、インデックス部２１４により作成されたコンテンツ集合データを当該コンテンツ集合テーブルに格納した上で、当該コンテンツ集合テーブルをコンテンツ集合ＤＢ２０７に格納する。これにより、ユーザＵ１により登録された集合定義に対応するコンテンツ集合が生成及び登録される。
【００９４】
以上により、本実施形態の検索システム１では、ユーザＵ１により登録された集合定義に基づいて検索装置２０でコンテンツ集合が生成及び登録される。しかも、本実施形態の検索システム１では、集合定義に抽出条件及びインデックス対象属性が定義される。このため、本実施形態の検索システム１では、様々なデータ構造を有するコンテンツデータに対して共有に用いることができるインデックスとしてコンテンツ集合を生成及び登録することができる。
【００９５】
また、本実施形態の検索システム１では、ユーザＵ１は、特定の目的に供されるコンテンツの集合を生成するために集合定義を登録することができる。すなわち、ユーザＵ１は、抽出条件やインデックス対象属性を定義することで、特定の目的に供され、インデックス化されたコンテンツ集合を生成することができる。
【００９６】
例えば、抽出条件を「ステータス＝承認中」と定義した集合定義を登録することで、承認中であるコンテンツの集合のインデックスを生成することができる。同様に、例えば、抽出条件を「作成日≧２０１５年５日１日、かつ、作成日≦２０１５年５月３１日」と定義した集合定義を登録することで、５月に作成されたコンテンツの集合のインデックスを生成することができる。
【００９７】
なお、本実施形態のコンテンツ集合の生成処理のステップＳ９０２において、抽出条件として定義されたデータ項目を有していない場合に、当該データ項目と類似するデータ項目又は下位概念に相当するデータ項目の値で抽出条件を満たすか否かを判定しても良い。
【００９８】
例えば、集合定義データの抽出条件が「作成者＝○○太郎」であり、取得部２１２により取得されたコンテンツデータのデータ項目が「コンテンツＩＤ」、「区分」、「記載者」、「管理組織」、及び「記載内容」であるとする。この場合、当該コンテンツデータは、データ項目「作成者」は有していない一方で、当該データ項目に類似するデータ項目「記載者」を有している。したがって、判定部２１３は、データ項目「記載者」のデータ項目の値が「○○太郎」であるか否かを判定しても良い。
【００９９】
同様に、例えば、集合定義データの抽出条件が「ユーザ＝○○太郎」であり、取得部２１２により取得されたコンテンツデータのデータ項目が「コンテンツＩＤ」、「区分」、「記載者」、「管理組織」、及び「記載内容」であるとする。この場合、当該コンテンツデータは、データ項目「ユーザ」は有していない一方で、当該データ項目に下位概念に相当するデータ項目「記載者」を有している。したがって、判定部２１３は、データ項目「記載者」のデータ項目の値が「○○太郎」であるか否かを判定しても良い。
【０１００】
このように、判定部２１３は、集合定義データの抽出条件として定義されたデータ項目に類似するデータ項目や下位概念に相当するデータ項目等を有するコンテンツデータが、当該抽出条件を満たすか否かを判定しても良い。
【０１０１】
次に、ユーザＵ２がコンテンツを検索装置２０に登録する処理について、図１０を参照しながら説明する。図１０は、第一の実施形態のコンテンツの登録処理の一例を示すシーケンス図である。なお、ユーザＵ２としたのは、集合定義の登録を行うユーザＵ１と区別するためである。
【０１０２】
例えば、ユーザＵ１は、検索対象のコンテンツが作成される業務プロセス等を定義するユーザである一方で、ユーザＵ２は、ユーザＵ１により定義された業務プロセスに従ってコンテンツの作成やコンテンツの検索等を行うユーザである。このように、本実施形態の検索システム１では、集合定義の登録を行うユーザＵ１と、コンテンツの登録や検索等を行うユーザＵ２とが、異なるユーザである場合を想定している。ただし、これに限られず、ユーザＵ１と、ユーザＵ２とが同一ユーザであっても良い。
【０１０３】
まず、ユーザＵ２は、端末装置１０の表示装置１２にコンテンツの登録画面を表示させるための表示操作を行う（ステップＳ１００１）。すると、端末装置１０の入力受付部１０１は、当該表示操作を受け付ける。
【０１０４】
端末装置１０の表示制御部１０５は、入力受付部１０１がコンテンツの登録画面を表示させるための表示操作を受け付けると、例えば図１１に示すコンテンツの登録画面２０００を表示装置１２に表示させる（ステップＳ１００２）。
【０１０５】
ここで、図１１に示すコンテンツの登録画面２０００は、ユーザＵ２が作成したコンテンツを検索装置２０に登録するための画面である。図１１に示す例では、データ項目として、「コンテンツＩＤ」、「タイトル」、「作成者」、「ステータス」、及び「本文」を有するコンテンツデータにより示されるコンテンツを検索装置２０に登録するコンテンツの登録画面２０００を示している。
【０１０６】
コンテンツの登録画面２０００には、データ項目「タイトル」の値を設定するためのタイトル設定欄２１００、データ項目「作成者」の値を設定するための作成者設定欄２２００、及びデータ項目「本文」の値を設定するための本文設定欄２３００が含まれる。ユーザＵ２は、これらの設定欄２１００〜２３００に編集することで、コンテンツデータの各データ項目の値を編集することができる。
【０１０７】
また、コンテンツの登録画面２０００には、データ項目「コンテンツＩＤ」の値を示すコンテンツＩＤ２４００、及びコンテンツのステータスを示すステータス２５００が含まれる。これらコンテンツＩＤ２４００及びステータス２５００は、例えば、端末プログラム３０により設定される。なお、コンテンツＩＤ２４００及びステータス２５００をユーザＵ２が設定しても良い。
【０１０８】
ユーザＵ２は、コンテンツの登録画面２０００において、コンテンツの登録操作を行う（ステップＳ１００３）。すると、端末装置１０の入力受付部１０１は、当該登録操作を受け付ける。すなわち、ユーザＵ２は、コンテンツの登録画面２０００において、設定欄２１００〜２３００を必要に応じて編集した上で、コンテンツを検索装置２０に登録するための登録ボタン２６００を押下する。
【０１０９】
端末装置１０の登録要求部１０２は、入力受付部１０１がコンテンツの登録操作を受け付けると、コンテンツの登録要求を検索装置２０に送信する（ステップＳ１００４）。ここで、当該登録要求には、ユーザＵ２により作成されたコンテンツを示すコンテンツデータが含まれる。
【０１１０】
検索装置２０の登録処理部２０１は、コンテンツの登録要求を受信すると、登録部２１１により、当該登録要求に含まれるコンテンツデータをコンテンツＤＢ２０５に格納する（ステップＳ１００５）。これにより、ユーザＵ２により作成されたコンテンツが検索装置２０に登録される。
【０１１１】
次に、検索装置２０の登録処理部２０１は、コンテンツ集合への追加処理を行う（ステップＳ１００６）。すなわち、登録処理部２０１は、登録されたコンテンツと、集合定義ＤＢ２０６に格納されている集合定義データとに基づいて、コンテンツ集合に当該コンテンツを追加する。なお、コンテンツ集合への追加処理の詳細については後述する。
【０１１２】
続いて、検索装置２０の登録処理部２０１は、登録されたコンテンツがコンテンツ集合に追加されると、コンテンツが登録されたことを示す登録結果を端末装置１０に送信する（ステップＳ１００７）。
【０１１３】
最後に、端末装置１０の表示制御部１０５は、コンテンツが登録されたことを示す登録結果画面を表示装置１２に表示させる（ステップＳ１００８）。
【０１１４】
以上により、本実施形態の検索システム１では、ユーザＵ２により作成されたコンテンツを検索装置２０に登録することができる。
【０１１５】
次に、上記のステップＳ１００６におけるコンテンツ集合への追加処理の詳細について、図１２を参照しながら説明する。図１２は、第一の実施形態のコンテンツ集合への追加処理の一例を示すフローチャートである。
【０１１６】
まず、登録処理部２０１の取得部２１２は、集合定義ＤＢ２０６から集合定義データを１件取得する（ステップＳ１２０１）。
【０１１７】
次に、登録処理部２０１の判定部２１３は、取得部２１２により集合定義データが取得されると、図１０のステップＳ１００５で登録部２１１により登録されたコンテンツデータが、当該集合定義データの抽出条件を満たすか否かを判定する（ステップＳ１２０２）。
【０１１８】
ステップＳ１００２において、判定部２１３により抽出条件を満たさないと判定された場合、登録処理部２０１は、ステップＳ１２０５に進む。
【０１１９】
ステップＳ１００２において、判定部２１３により抽出条件を満たすと判定された場合、インデックス部２１４は、当該コンテンツデータと、集合定義データに含まれるインデックス対象属性とに基づいて、コンテンツ集合データを生成する（ステップＳ１２０３）。すなわち、インデックス部２１４は、図９のステップＳ９０３と同様の処理を行う。
【０１２０】
次に、集合部２１５は、コンテンツ集合ＤＢ２０７に格納されたコンテンツ集合テーブルであって、取得部２１２より取得された集合定義データの集合定義ＩＤに対応するコンテンツ集合テーブルに、コンテンツ集合データを追加する（ステップＳ１２０４）。これにより、抽出条件を満たす集合定義に対応するコンテンツ集合テーブルに、登録されたコンテンツに基づくコンテンツ集合データが追加される。
【０１２１】
最後に、登録処理部２０１の取得部２１２は、次の集合定義データが集合定義ＤＢ２０６に存在するか否かを判定する（ステップＳ１２０５）。
【０１２２】
ステップＳ１２０５において、取得部２１２により次の集合定義データが集合定義ＤＢ２０６に存在すると判定された場合、登録処理部２０１は、ステップＳ１２０１に戻る。すなわち、登録処理部２０１は、集合定義ＤＢ２０６に格納されている全ての集合定義データに対してステップＳ１２０１〜ステップＳ１２０５の処理を行う。
【０１２３】
ステップＳ１２０５において、取得部２１２により次の集合定義データが集合定義ＤＢ２０６に存在しないと判定された場合、登録処理部２０１は、処理を終了させる。
【０１２４】
以上により、本実施形態の検索システム１では、ユーザＵ２により作成されたコンテンツが検索装置２０に登録される。また、このとき、本実施形態の検索システム１では、検索装置２０に登録されているコンテンツ集合に対応する集合定義に応じて、当該コンテンツ集合にコンテンツを追加する。
【０１２５】
このように、本実施形態の検索システム１では、ユーザＵ２により新たなコンテンツが作成された場合、当該コンテンツを、既に登録されているコンテンツ集合に追加する。これにより、本実施形態の検索システム１では、新たなコンテンツの登録に応じて、当該登録されたコンテンツを検索するためのインデックス（すなわち、コンテンツ集合）を動的に作成することができる。
【０１２６】
次に、ユーザＵ２がコンテンツ集合としてインデックス化されたコンテンツの一覧を端末装置１０の表示装置１２に表示させる処理について、図１３を参照しながら説明する。図１３は、第一の実施形態のコンテンツ集合の表示処理の一例を示すシーケンス図である。
【０１２７】
まず、ユーザＵ２は、端末装置１０の表示装置１２にコンテンツ一覧画面を表示させるための表示操作を行う（ステップＳ１３０１）。すると、端末装置１０の入力受付部１０１は、当該表示操作を受け付ける。
【０１２８】
端末装置１０の表示制御部１０５は、入力受付部１０１がコンテンツ一覧画面を表示させるための表示操作を受け付けると、例えば図１４（ａ）に示すコンテンツ一覧画面３０００を表示装置１２に表示させる（ステップＳ１３０２）。
【０１２９】
ここで、図１４（ａ）に示すコンテンツ一覧画面３０００は、コンテンツ集合として登録されたコンテンツの一覧を表示させるための画面である。コンテンツ一覧画面３０００には、作成中一覧ボタン３１００、承認中一覧ボタン３２００、承認済一覧ボタン３３００、及びすべてボタン３４００が含まれる。
【０１３０】
例えば、作成中一覧ボタン３１００は、集合定義ＩＤ「Ｐ−１」に対応するコンテンツ集合を表示させるためのアイコンである。また、例えば、承認済一覧ボタン３３００は、集合定義ＩＤ「Ｐ−３」の集合定義を表示させるためのアイコンである。
【０１３１】
このように、コンテンツ一覧画面３０００には、検索装置２０に登録されている集合定義の集合定義ＩＤに対応付けられたアイコン等の表示部品が含まれている。ユーザＵ２は、コンテンツ一覧画面３０００において、所望の表示部品を選択することで、当該表示部品に対応するコンテンツ集合をコンテンツ表示領域３５００に表示させることができる。
【０１３２】
なお、すべてボタン３５００は、集合定義ＩＤと対応付けられておらず、検索装置２０に登録されている全てのコンテンツの一覧をコンテンツ表示領域３５００に表示させるためのアイコンである。
【０１３３】
ユーザＵ２は、コンテンツ一覧画面３０００において、コンテンツ集合の選択操作を行う（ステップＳ１３０３）。すなわち、ユーザＵ２は、コンテンツ一覧画面３０００において、作成中一覧ボタン３１００、承認中一覧ボタン３２００、承認済一覧ボタン３３００、及びすべてボタン３４００のいずれかを選択する操作を行う。すると、端末装置１０の入力受付部１０１は、当該選択操作を受け付ける。なお、以降では、コンテンツ一覧画面３０００において、ユーザＵ２により作成中一覧ボタン３１００が選択されたものとして説明する。
【０１３４】
端末装置１０の取得要求部１０３は、入力受付部１０１がコンテンツ集合の選択操作を受け付けると、コンテンツ集合の取得要求を検索装置２０に送信する（ステップＳ１３０４）。ここで、当該取得要求には、ユーザＵ２により選択された表示部品に対応付けられた集合定義ＩＤが含まれる。すなわち、当該取得要求には、ユーザＵ２により選択された作成中一覧ボタン３１００に対応付けられた集合定義ＩＤ「Ｐ−１」が含まれる。
【０１３５】
検索装置２０の集合取得処理部２０２は、コンテンツ集合の取得要求を受信すると、当該取得要求に含まれる集合定義ＩＤに対応付けられたコンテンツ集合テーブルを、コンテンツ集合ＤＢ２０７から取得する（ステップＳ１３０５）。すなわち、集合取得処理部２０２は、集合定義ＩＤ「Ｐ−１」に対応付けられたコンテンツ集合テーブルを、コンテンツ集合ＤＢ２０７から取得する。
【０１３６】
次に、検索装置２０の集合取得処理部２０２は、取得したコンテンツ集合テーブルに格納されているコンテンツ集合データを端末装置１０に送信する（ステップＳ１３０６）。
【０１３７】
端末装置１０の表示制御部１０５は、検索装置２０からコンテンツ集合データを受信すると、当該コンテンツ集合データに基づき、例えば図１４（ｂ）に示すコンテンツ一覧画面４０００を表示装置１２に表示させる（ステップＳ１３０７）。すなわち、表示制御部１０５は、コンテンツ一覧画面４０００のコンテンツ表示領域４１００に、受信したコンテンツ集合データに基づくコンテンツの一覧を表示させる。これにより、集合定義ＩＤ「Ｐ−１」に対応するコンテンツ集合が表示される。
【０１３８】
なお、図１４（ｂ）に示すコンテンツ一覧画面４０００において、ユーザＵ２は、検索ボタン４２００を押下することにより、コンテンツ表示領域４１００に表示されたコンテンツ集合の中から目的のコンテンツを検索することができる。
【０１３９】
以上により、本実施形態の検索システム１では、ユーザＵ２により選択されたコンテンツ集合に含まれるコンテンツの一覧を表示させることができる。
【０１４０】
なお、本実施形態の検索システム１では、端末装置１０からのコンテンツ集合の取得要求に応じて、検索装置２０がコンテンツ集合データを当該端末装置１０に送信するものとしたが、これに限られない。すなわち、検索装置２０は、コンテンツ集合データに対応するコンテンツデータを端末装置１０に返信しても良い。これにより、端末装置１０では、コンテンツデータに含まれるデータ項目であって、インデックス対象属性により示されるデータ項目以外のデータ項目も一覧として表示させることができる。
【０１４１】
次に、ユーザＵ２がコンテンツ一覧画面４０００において、検索ボタン４２００を押下して、コンテンツ集合の中から目的のコンテンツを検索する場合の処理について、図１５を参照しながら説明する。図１５は、第一の実施形態のコンテンツの検索処理の一例を示すシーケンス図である。
【０１４２】
まず、ユーザＵ２は、端末装置１０の表示装置１２にコンテンツの検索画面を表示させるための表示操作を行う（ステップＳ１５０１）。すると、端末装置１０の入力受付部１０１は、当該表示操作を受け付ける。
【０１４３】
端末装置１０の表示制御部１０５は、入力受付部１０１がコンテンツの検索画面を表示させるための表示操作を受け付けると、例えば図１６（ａ）に示すコンテンツの検索画面５０００を表示装置１２に表示させる（ステップＳ１５０２）。
【０１４４】
ここで、図１６（ａ）に示すコンテンツの検索画面５０００は、ユーザＵ２が、集合定義ＩＤ「Ｐ−１」に対応するコンテンツ集合から所望のコンテンツを検索するための画面である。コンテンツの検索画面５０００には、検索ウインドウ５１００が含まれる。また、検索ウインドウ５１００には、データ項目「作成者」に対する検索条件を入力するための検索条件欄５１１０、及び検索を開始するためのＯＫボタン５１２０が含まれる。
【０１４５】
このように、コンテンツの検索画面５０００には、ユーザＵ２が検索条件を入力するための検索条件欄５１１０が含まれる。ユーザＵ２は、検索条件欄５１１０に所望のコンテンツを検索するための検索条件を入力して、ＯＫボタン５１２０を押下することで、コンテンツ集合から所望のコンテンツを検索することができる。
【０１４６】
なお、図１６（ａ）では、検索ウインドウ５１００において、データ項目「作成者」に対する検索値を入力するための検索条件欄５１１０が含まれるものとしたが、これに限られない。検索ウインドウ５１００には、データ項目「タイトル」に対する検索条件を入力するための検索条件欄が含まれても良い。すなわち、検索ウインドウ５１００には、検索対象のコンテンツ集合を構成するコンテンツ集合データの各データ項目に対する検索条件を入力するための検索条件欄が含まれても良い。
【０１４７】
ユーザＵ２は、コンテンツの検索画面５０００において、コンテンツの検索操作を行う（ステップＳ１５０３）。すなわち、ユーザＵ２は、コンテンツの検索画面５０００の検索ウインドウ５１００において、検索条件欄５１１０に検索条件を入力し、ＯＫボタン５１２０を押下して検索操作を行う。すると、端末装置１０の入力受付部１０１は、当該検索操作を受け付ける。なお、以降では、ユーザＵ２は、検索条件欄５１１０に「○○太郎」と入力して、ＯＫボタン５１２０を押下したものとして説明する。
【０１４８】
端末装置１０の検索要求部１０４は、入力受付部１０１がコンテンツの検索操作を受け付けると、コンテンツの検索要求を検索装置２０に送信する（ステップＳ１５０４）。ここで、当該検索要求には、検索対象であるコンテンツ集合の集合定義ＩＤと、ユーザＵ２により検索条件欄５１１０に入力された検索条件とが含まれる。より具体的には、当該検索要求には、集合定義ＩＤ「Ｐ−１」と、検索条件「作成者＝○○太郎」とが含まれる。
【０１４９】
検索装置２０の検索処理部２０３は、コンテンツの検索要求を受信すると、当該検索要求に含まれる集合定義ＩＤのコンテンツ集合テーブルにおいて、検索条件を満たすコンテンツ集合データを取得する（ステップＳ１５０５）。
【０１５０】
より具体的には、検索処理部２０３は、集合定義ＩＤ「Ｐ−１」のコンテンツ集合テーブルにおいて、データ項目「作成者」が「○○太郎」であるコンテンツ集合データを取得する。
【０１５１】
次に、検索装置２０の検索処理部２０３は、取得したコンテンツ集合データを端末装置１０に送信する（ステップＳ１５０６）。
【０１５２】
端末装置１０の表示制御部１０５は、検索装置２０からコンテンツ集合データを受信すると、当該コンテンツ集合データに基づき、例えば図１６（ｂ）に示す検索結果画面６０００を表示装置１２に表示させる（ステップＳ１５０７）。すなわち、表示制御部１０５は、検索結果画面６０００の検索結果表示領域６１００に、受信したコンテンツ集合データに基づくコンテンツの一覧を表示させる。これにより、集合定義ＩＤ「Ｐ−１」のコンテンツ集合において、ユーザＵ２により指定された検索条件「作成者＝○○太郎」を満たすコンテンツが表示される。
【０１５３】
次に、検索結果として表示されたコンテンツの一覧からユーザＵ２が所望のコンテンツを選択して、当該コンテンツの内容を表示させる場合について説明する。
【０１５４】
ユーザＵ２は、検索結果画面６０００において、コンテンツの選択操作を行う（ステップＳ１５０８）。すなわち、ユーザＵ２は、検索結果画面６０００の検索結果表示領域６１００に表示されたコンテンツの一覧から所望のコンテンツを選択する選択操作を行う。すると、端末装置１０の入力受付部１０１は、当該選択操作を受け付ける。
【０１５５】
端末装置１０の取得要求部１０３は、入力受付部１０１がコンテンツの選択操作を受け付けると、コンテンツの取得要求を検索装置２０に送信する（ステップＳ１５０９）。ここで、当該取得要求には、コンテンツの一覧からユーザＵ２により選択されたコンテンツのコンテンツＩＤが含まれる。
【０１５６】
検索装置２０のコンテンツ取得処理部２０４は、コンテンツの取得要求を受信すると、当該取得要求に含まれるコンテンツＩＤのコンテンツデータを、コンテンツＤＢ２０５から取得する（ステップＳ１５１０）。
【０１５７】
次に、検索装置２０のコンテンツ取得処理部２０４は、取得したコンテンツデータを端末装置１０に送信する（ステップＳ１５１１）。
【０１５８】
端末装置１０の表示制御部１０５は、検索装置２０からコンテンツデータを受信すると、当該コンテンツデータにより示されるコンテンツを表示装置１２に表示させる（ステップＳ１５１２）。これにより、検索結果画面６０００においてユーザＵ２により選択されたコンテンツが表示される。
【０１５９】
以上により、本実施形態の検索システム１では、ユーザＵ２により指定されたコンテンツ集合において、当該ユーザＵ２により指定された検索条件でコンテンツの検索を行うことができる。このように、本実施形態の検索システム１では、ユーザＵ２により指定されたコンテンツ集合においてコンテンツの検索を行うため、コンテンツＤＢ２０５を検索するよりも高速に検索結果を得ることができる。
【０１６０】
［第二の実施形態］
次に、第二の実施形態の検索システム１について説明する。第二の実施形態の説明では、第一の実施形態との相違点について説明し、第一の実施形態と同様の機能構成を有する箇所には第一の実施形態の説明で用いた符号と同様の符号を付与し、その説明を省略する。
【０１６１】
本実施形態は、端末装置１０のユーザＵ１が、検索装置２０に登録されている集合定義の変更（更新）を行うことができるものである。
【０１６２】
＜機能構成＞
第二の実施形態の検索システム１の機能構成について、図１７を参照しながら説明する。図１７は、第二の実施形態の検索システムの機能構成の一例を示す図である。
【０１６３】
図１７に示す端末装置１０は、登録要求部１０２Ａを有する。登録要求部１０２Ａは、入力受付部１０１が受け付けた入力操作に応じて、集合定義の更新要求を検索装置２０に送信する。
【０１６４】
図１７に示す検索装置２０の登録処理部２０１Ａは、登録部２１１Ａを有する。登録部２１１Ａは、集合定義の更新処理において、集合定義の更新要求に含まれる集合定義データで、集合定義ＤＢ２０６に格納されている該当の集合定義データを更新する。
【０１６５】
＜処理の詳細＞
次に、第二の実施形態の検索システム１の処理の詳細について説明する。
【０１６６】
以降では、ユーザＵ１が、検索装置２０に登録されている集合定義を変更（更新）する処理について、図１８を参照しながら説明する。図１８は、第二の実施形態の集合定義の更新処理の一例を示すシーケンス図である。
【０１６７】
まず、ユーザＵ１は、端末装置１０の表示装置１２に集合定義の更新画面を表示させるための表示操作を行う（ステップＳ１８０１）。すると、端末装置１０の入力受付部１０１は、当該表示操作を受け付ける。ここで、ユーザＵ１は、集合定義ＩＤ「Ｐ−１」の集合定義を更新するための更新画面の表示操作を行ったものとする。
【０１６８】
端末装置１０の表示制御部１０５は、入力受付部１０１が集合定義の更新画面を表示させるための表示操作を受け付けると、例えば図１９に示す集合定義の更新画面７０００を表示装置１２に表示させる（ステップＳ１８０２）。
【０１６９】
ここで、図１９に示す集合定義の更新画面７０００は、ユーザＵ１が、検索装置２０に登録されている集合定義の定義を更新するための画面である。集合定義の更新画面７０００には、検索装置２０に登録されている集合定義ＩＤ「Ｐ−１」の集合定義データの抽出条件を変更するための抽出条件変更欄７１００、及び当該集合定義データのインデックス対象属性を変更するための属性変更欄７２００が含まれる。また、集合定義の更新画面７０００には、抽出条件変更欄７１００及び属性変更欄７２００で変更された内容で、検索装置２０に登録されている該当の集合定義を更新するための更新ボタン７３００が含まれる。
【０１７０】
ユーザＵ１は、集合定義の更新画面７０００において、集合定義の更新操作を行う（ステップＳ１８０３）。すなわち、ユーザＵ１は、集合定義の更新画面７０００において、例えば、抽出条件変更欄７１００を「ステータス＝作成中ｏｒ区分＝公開」と変更し、更新ボタン７３００を押下して、集合定義の更新操作を行う。すると、端末装置１０の入力受付部１０１は、当該更新操作を受け付ける。
【０１７１】
端末装置１０の登録要求部１０２Ａは、入力受付部１０１が集合定義の更新操作を受け付けると、集合定義データが含まれる集合定義の更新要求を検索装置２０に送信する（ステップＳ１８０４）。ここで、当該集合定義データには、集合定義ＩＤ、及びユーザＵ１により変更された抽出条件やインデックス対象属性が含まれる。
【０１７２】
検索装置２０の登録処理部２０１Ａは、集合定義の更新要求を受信すると、登録部２１１Ａにより、当該更新要求に含まれる集合定義データで、集合定義ＤＢ２０６に格納されている該当の集合定義データを更新する（ステップＳ１８０５）。すなわち、更新要求に含まれる集合定義ＩＤ「Ｐ−１」の集合定義データである場合、登録部２１１Ａは、集合定義ＤＢ２０６に格納されている集合定義ＩＤ「Ｐ−１」の集合定義データを、更新要求に含まれる集合定義データで更新（上書き）する。これにより、検索装置２０に登録されている集合定義が更新される。
【０１７３】
次に、検索装置２０の登録処理部２０１Ａは、コンテンツ集合の再生成処理を行う（ステップＳ１８０６）。すなわち、登録処理部２０１Ａは、更新された集合定義データの集合定義ＩＤに対応するコンテンツ集合テーブルを削除した上で、更新された集合定義データに基づいて新たなコンテンツ集合テーブルを生成する。更新された集合定義データに基づいて新たなコンテンツ集合テーブルを生成する処理については、図９を用いて説明したコンテンツ集合の生成処理と同様であるため、その説明を省略する。
【０１７４】
続いて、検索装置２０の登録処理部２０１Ａは、コンテンツ集合を生成すると、集合定義が更新されたことを示す更新結果を端末装置１０に送信する（ステップＳ１８０７）。
【０１７５】
最後に、端末装置１０の表示制御部１０５は、集合定義が更新されたことを示す更新結果画面を表示装置１２に表示させる（ステップＳ１８０８）。
【０１７６】
以上により、本実施形態の検索システム１では、ユーザＵ１により、検索装置２０に登録されている集合定義が更新される。また、このとき、本実施形態の検索装置２０では、集合定義が更新されると、当該更新後の集合定義に基づいてコンテンツ集合を再作成する。したがって、ユーザＵ１は、コンテンツ集合の目的の変更等に応じて、当該コンテンツ集合に対応する集合定義を適宜変更することができる。
【０１７７】
［第三の実施形態］
次に、第三の実施形態の検索システム１について説明する。第三の実施形態の説明では、第一の実施形態との相違点について説明し、第一の実施形態と同様の機能構成を有する箇所には第一の実施形態の説明で用いた符号と同様の符号を付与し、その説明を省略する。
【０１７８】
本実施形態は、端末装置１０のユーザＵ２が、検索装置２０に登録されているコンテンツの削除を行うことができるものである。
【０１７９】
＜機能構成＞
第三の実施形態の検索システム１の機能構成について、図２０を参照しながら説明する。図２０は、第三の実施形態の検索システムの機能構成の一例を示す図である。
【０１８０】
図２０に示す端末装置１０は、削除要求部１０６を有する。当該機能部は、端末装置１０にインストールされた端末プログラム３０が、ＣＰＵ１６に実行させる処理により実現される。
【０１８１】
削除要求部１０６は、入力受付部１０１が受け付けた入力操作に応じて、検索装置２０に登録されているコンテンツを削除するためのコンテンツの削除要求を当該検索装置２０に送信する。
【０１８２】
図２０に示す検索装置２０は、削除処理部２０８を有する。当該機能部は、検索装置２０にインストールされた検索プログラム４０が、ＣＰＵ１６に実行させる処理により実現される。
【０１８３】
削除処理部２０８は、コンテンツの削除処理を行う。なお、削除処理部２０８は、集合取得部２２１、削除判定部２２２、及び削除部２２３を有する。
【０１８４】
集合取得部２２１は、コンテンツの削除要求に応じて、コンテンツ集合ＤＢ２０７に含まれるコンテンツ集合テーブルを取得する。
【０１８５】
削除判定部２２２は、集合取得部２２１により取得されたコンテンツ集合テーブルに、削除要求に係るコンテンツデータのコンテンツ集合データが含まれるか否かを判定する。
【０１８６】
削除部２２３は、削除判定部２２２の判定結果に応じて、削除要求に係るコンテンツデータのコンテンツ集合データをコンテンツ集合テーブルから削除する。また、削除部２２３は、削除要求に係るコンテンツデータをコンテンツＤＢ２０５から削除する。
【０１８７】
＜処理の詳細＞
次に、第三の実施形態の検索システム１の処理の詳細について説明する。
【０１８８】
以降では、ユーザＵ２が、検索装置２０に登録されているコンテンツを削除する処理について、図２１を参照しながら説明する。図２１は、第三の実施形態のコンテンツの削除処理の一例を示すシーケンス図である。
【０１８９】
まず、ユーザＵ２は、端末装置１０の表示装置１２にコンテンツの削除画面を表示させるための表示操作を行う（ステップＳ２１０１）。すると、端末装置１０の入力受付部１０１は、当該表示操作を受け付ける。
【０１９０】
端末装置１０の表示制御部１０５は、入力受付部１０１がコンテンツの削除画面を表示させるための表示操作を受け付けると、例えば図２２に示すコンテンツの削除画面８０００を表示装置１２に表示させる（ステップＳ２１０２）。
【０１９１】
ここで、図２２に示すコンテンツの削除画面８０００は、ユーザＵ２が、検索装置２０に登録されているコンテンツを削除するための画面である。コンテンツの削除画面８０００には、削除するコンテンツのコンテンツＩＤを入力するための削除ＩＤ欄８１００が含まれる。また、コンテンツの削除画面８０００には、削除ＩＤ欄８１００に入力されたコンテンツＩＤのコンテンツを削除するための削除ボタン８２００が含まれる。
【０１９２】
ユーザＵ２は、コンテンツの削除画面８０００において、コンテンツの削除操作を行う（ステップＳ２１０３）。すなわち、ユーザＵ２は、コンテンツの削除画面８０００において、例えば、削除ＩＤ欄８１００に「Ｃ−３」を入力し、削除ボタン８２００を押下して、コンテンツの削除操作を行う。すると、端末装置１０の入力受付部１０１は、当該削除操作を受け付ける。
【０１９３】
端末装置１０の削除要求部１０６は、入力受付部１０１がコンテンツの削除操作を受け付けると、コンテンツの削除要求を検索装置２０に送信する（ステップＳ２１０４）。ここで、当該削除要求には、削除対象のコンテンツのコンテンツＩＤが含まれる。
【０１９４】
検索装置２０の削除処理部２０８は、コンテンツの削除要求を受信すると、削除要求に係るコンテンツのコンテンツ集合データをコンテンツ集合テーブルから削除してコンテンツ集合を更新するコンテンツ集合の更新処理を行う（ステップＳ２１０５）。なお、コンテンツ集合の更新処理の詳細については後述する。
【０１９５】
検索装置２０の削除処理部２０８は、コンテンツ集合の更新処理を行うと、削除要求に含まれるコンテンツＩＤのコンテンツデータを、コンテンツＤＢ２０５から削除する（ステップＳ２１０５）。これにより、ユーザＵ２により指定されたコンテンツが検索装置２０から削除される。
【０１９６】
続いて、検索装置２０の削除処理部２０８は、コンテンツを削除すると、指定されたコンテンツが削除されたことを示す削除結果を端末装置１０に送信する（ステップＳ２１０７）。
【０１９７】
最後に、端末装置１０の表示制御部１０５は、コンテンツが削除されたことを示す削除結果画面を表示装置１２に表示させる（ステップＳ２１０８）。
【０１９８】
以上により、本実施形態の検索システム１では、ユーザＵ２により端末装置１０を用いて、検索装置２０に登録されているコンテンツが削除される。また、このとき、本実施形態の検索システム１では、削除されたコンテンツをコンテンツ集合から削除する。これにより、本実施形態の検索システム１では、コンテンツの削除に応じて、コンテンツを検索するためのインデックス（すなわち、コンテンツ集合）を動的に更新することができる。
【０１９９】
次に、上記のステップＳ２１０５におけるコンテンツ集合の更新処理の詳細について、図２３を参照しながら説明する。図２３は、第三の実施形態のコンテンツ集合の更新処理の一例を示すフローチャートである。
【０２００】
まず、削除処理部２０８の集合取得部２２１は、コンテンツ集合ＤＢ２０７からコンテンツ集合テーブルを１件取得する（ステップＳ２３０１）。
【０２０１】
次に、削除処理部２０８の削除判定部２２２は、集合取得部２２１によりコンテンツ集合テーブルが取得されると、当該コンテンツ集合テーブルに、削除要求に含まれるコンテンツＩＤのコンテンツ集合データが含まれるか否かを判定する（ステップＳ２３０２）。
【０２０２】
ステップＳ２３０２において、削除判定部２２２により削除要求に含まれるコンテンツＩＤのコンテンツ集合データが含まれると判定された場合、削除部２２３は、当該コンテンツ集合データをコンテンツ集合テーブルから削除する（ステップＳ２３０３）。
【０２０３】
ステップＳ２３０２において、削除判定部２２２により削除要求に含まれるコンテンツＩＤのコンテンツ集合データが含まれないと判定された場合、削除処理部２０８は、ステップＳ２３０４に進む。
【０２０４】
続いて、削除処理部２０８の集合取得部２２１は、次のコンテンツ集合テーブルがコンテンツ集合ＤＢ２０７に存在するか否かを判定する（ステップＳ２３０４）。
【０２０５】
ステップＳ２３０４において、集合取得部２２１により次のコンテンツ集合テーブルがコンテンツ集合ＤＢ２０７に存在すると判定された場合、削除処理部２０８は、ステップＳ２３０１に戻る。すなわち、削除処理部２０８は、コンテンツ集合ＤＢ２０７に格納されている全てのコンテンツ集合テーブルに対してステップＳ２３０１〜ステップＳ２３０４の処理を行う。
【０２０６】
ステップＳ２３０４において、集合取得部２２１により次のコンテンツ集合テーブルがコンテンツ集合ＤＢ２０７に存在しないと判定された場合、削除処理部２０８は、処理を終了させる。
【０２０７】
以上により、本実施形態の検索システム１では、ユーザＵ２により指定された削除対象のコンテンツに対応するコンテンツ集合データがコンテンツ集合テーブルから削除される。このように、本実施形態の検索システム１では、コンテンツの削除に応じて、コンテンツのインデックスであるコンテンツ集合を動的に更新することができる。
【０２０８】
以上、本発明の実施形態について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【符号の説明】
【０２０９】
１０      端末装置
２０      検索装置
３０      端末プログラム
４０      検索プログラム
１０１    入力受付部
１０２    登録要求部
１０３    取得要求部
１０４    検索要求部
１０５    表示制御部
２０１    登録処理部
２０２    集合取得処理部
２０３    検索処理部
２０４    コンテンツ取得処理部
２０５    コンテンツＤＢ
２０６    集合定義ＤＢ
２０７    コンテンツ集合ＤＢ
２１１    登録部
２１２    取得部
２１３    判定部
２１４    インデックス部
２１５    集合部
Ｎ        ネットワーク
【先行技術文献】
【特許文献】
【０２１０】
【特許文献１】特許第２５４９７４５号公報
【図１】
2017045236.tif 000003
【図２】
2017045236.tif 000004
【図３】
2017045236.tif 000005
【図４】
2017045236.tif 000006
【図５】
2017045236.tif 000007
【図６】
2017045236.tif 000008
【図７】
2017045236.tif 000009
【図８】
2017045236.tif 000010
【図９】
2017045236.tif 000011
【図１０】
2017045236.tif 000012
【図１１】
2017045236.tif 000013
【図１２】
2017045236.tif 000014
【図１３】
2017045236.tif 000015
【図１４】
2017045236.tif 000016
【図１５】
2017045236.tif 000017
【図１６】
2017045236.tif 000018
【図１７】
2017045236.tif 000019
【図１８】
2017045236.tif 000020
【図１９】
2017045236.tif 000021
【図２０】
2017045236.tif 000022
【図２１】
2017045236.tif 000023
【図２２】
2017045236.tif 000024
【図２３】
2017045236.tif 000025