(57)【要約】【課題】テキストの持つ特定の属性に対して条件を指定した絞り込み検索を行うことができる検索システムを提供する。【解決手段】検索システムにおいて、表示部２０３と、入力部２０１と、入力可能候補リスト４０４と、実体ＤＢ４０２と、検索文字列に対する入力可能な属性情報を表示部２０３に表示させる入力可能属性名表示処理部２０２と、表示部２０３に表示された入力可能な属性情報に基づいた入力部２０１から入力された属性情報および検索文字列に基づいて、属性情報を含む検索キーを作成する検索キー作成部３０１と、検索キーに基づいた多次元データの検索情報に基づいて、実体ＤＢ４０２を検索し、検索結果を表示部２０３に表示させる実体データ取得部と、を備えた。【選択図】図１
2014194608.tif 000002
【特許請求の範囲】
【請求項１】
自由な書式で記述された文章を含む多次元データを対象として、検索処理を行う検索システムであって、
ユーザに対して検索処理に関連する情報を表示する表示部と、
前記表示部の表示情報に基づいた前記ユーザからの検索文字列および前記検索文字列に対する属性情報を入力する入力部と、
前記検索文字列に対する入力可能な属性情報が格納された入力可能候補リストと、
前記多次元データに関する情報が格納された実体データベースと、
前記入力部から入力された前記検索文字列および前記入力可能候補リストに基づいて、前記検索文字列に対する入力可能な属性情報を前記表示部に表示させる入力可能属性名表示処理部と、
前記表示部に表示された前記入力可能な属性情報に基づいた前記入力部から入力された属性情報および前記検索文字列に基づいて、前記属性情報を含む検索キーを作成する検索キー作成部と、
前記検索キーに基づいた前記多次元データの検索情報に基づいて、前記実体データベースを検索し、検索結果を前記表示部に表示させる実体データ取得部と、
を備えた、検索システム。
【請求項２】
請求項１に記載の検索システムにおいて、
前記検索キー作成部は、前記入力可能な属性情報に基づいた前記入力部から入力された複数の属性情報および前記検索文字列に基づいて、前記属性情報を含む検索キーを作成する、検索システム。
【請求項３】
請求項１に記載の検索システムにおいて、
前記実体データベースは、データＩＤに紐ついた前記多次元データのテキストと属性を１つにまとめた実体データが格納され、
前記属性情報に対するインデックスおよび前記検索文字列のテキストに対するインデックスが格納されたインデックスデータベースと、
前記検索キーに基づいて、前記インデックスデータベースを検索し、前記検索キーの条件に一致する前記データＩＤのリストを取得するインデックス検索部と、
前記データＩＤのリストおよび前記属性情報で指定された条件に基づいて、全ての条件に当てはまる前記多次元データの検索情報の実体データＩＤリストを作成する実体データＩＤリスト作成部と、
を備えた、検索システム。
【請求項４】
ユーザに対して検索処理に関連する情報を表示する表示部と、前記表示部の表示情報に基づいた前記ユーザからの検索文字列および前記検索文字列に対する属性情報を入力する入力部と、前記検索文字列に対する入力可能な属性情報が格納された入力可能候補リストと、多次元データに関する情報が格納された実体データベースと、を備え、自由な書式で記述された文章を含む前記多次元データを対象として、検索処理を行う検索システムにおける検索方法であって、
入力可能属性名表示処理部で、前記入力部から入力された前記検索文字列および前記入力可能候補リストに基づいて、前記検索文字列に対する入力可能な属性情報を前記表示部に表示させるステップと、
検索キー作成部で、前記表示部に表示された前記入力可能な属性情報に基づいた前記入力部から入力された属性情報および前記検索文字列に基づいて、前記属性情報を含む検索キーを作成するステップと、
実体データ取得部で、前記検索キーに基づいた前記多次元データの検索情報に基づいて、前記実体データベースを検索し、検索結果を前記表示部に表示させるステップと、
を有する、検索方法。
【請求項５】
ユーザに対して検索処理に関連する情報を表示する表示部と、前記表示部の表示情報に基づいた前記ユーザからの検索文字列および前記検索文字列に対する属性情報を入力する入力部と、前記検索文字列に対する入力可能な属性情報が格納された入力可能候補リストと、多次元データに関する情報が格納された実体データベースと、を備えた計算機システムを用いて、自由な書式で記述された文章を含む前記多次元データを対象として、検索処理を行う検索プログラムであって、
前記計算機システムを、
前記入力部から入力された前記検索文字列および前記入力可能候補リストに基づいて、前記検索文字列に対する入力可能な属性情報を前記表示部に表示させる入力可能属性名表示処理部と、
前記表示部に表示された前記入力可能な属性情報に基づいた前記入力部から入力された属性情報および前記検索文字列に基づいて、前記属性情報を含む検索キーを作成する検索キー作成部と、
前記検索キーに基づいた前記多次元データの検索情報に基づいて、前記実体データベースを検索し、検索結果を前記表示部に表示させる実体データ取得部として機能させる、
検索プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検索システムに関し、特に、自由な書式で記述された文章とカテゴリ値や日付などの書式が決まっている値の両方を持つ多次元データを対象として、自由な書式で記述されたテキストなどの文章に対するテキスト検索と、テキスト以外のカテゴリ値や日付などの属性に対する属性検索を組み合わせた検索方法に関するものである。
【背景技術】
【０００２】
多次元データでは、そのデータ集合の中から目的に応じたデータを探し出す検索が良く行われる。検索には、テキスト検索と属性検索の２つの手法がある。
【０００３】
属性検索とは、リレーショナルデータベース（以下、ＲＤＢと呼ぶ）のテーブルからデータを抽出するときに良く用いられる手法で、属性に条件をつけてその条件に当てはまるデータを抽出する手法である。
【０００４】
テキスト検索とは、Ｇｏｏｇｌｅ（登録商標）などの検索エンジンのように、ユーザが入力した検索単語をテキスト内に含むデータを抽出する手法である。
【０００５】
さらに、属性により検索対象データの範囲を絞り込み、テキスト検索を行う方法も提案されている。例えば、特開２００４−２８９８４８号公報（特許文献１）は、ユーザが入力した検索単語をあらかじめ持っている属性リストと比較して、属性リストに含まれる場合は属性検索、属性リストに含まれない場合はテキスト検索に自動的に振り分けて検索を行う方法が示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００４−２８９８４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
属性検索では、ユーザは多次元データの中にどのような属性があるかということをあらかじめ知っておかなければならないという問題がある。この問題の一般的解決策として、ユーザインタフェース（以下、ＵＩと呼ぶ）であらかじめ属性名を表示するという方法があるが、この方法では、ユーザが属性名の変更や属性の追加が行われるたびにＵＩの変更が必要になる手間がかかる。
【０００８】
テキスト検索では、ユーザには検索単語のみを入力させ、属性とテキストの中から入力された検索単語を含むデータを抽出することにより、属性名を知らなくとも検索をすることができる。また、ＵＩの変更も必要ない。
【０００９】
しかし、特定の性質となる属性を持つデータ集合で絞り込むことができず、検索結果として得られるデータの件数が多くなるため、目的となるデータを探し出すことが難しい。
【００１０】
特許文献１では、検索単語を自動的にテキスト検索か属性検索か判定して検索を行うため、属性により検索対象データの範囲を絞り込んだテキスト検索が可能で、かつどの属性にどの値が含まれているかをあらかじめ知っておく必要もない。
【００１１】
しかし、特許文献１では、ある特定の属性に対して条件を指定して、絞り込み検索を行うことができない。ある特定の属性で検索対象データを絞り込んだテキスト検索を行う場合において、ユーザは、意図した条件で検索を行うことができない。
【００１２】
そこで、本発明の目的は、テキストの持つ特定の属性に対して条件を指定した絞り込み検索を行うことができる検索システムを提供することにある。
【００１３】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１４】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次の通りである。
【００１５】
すなわち、代表的なものの概要は、自由な書式で記述された文章を含む多次元データを対象として、検索処理を行う検索システムであって、ユーザに対して検索処理に関連する情報を表示する表示部と、表示部の表示情報に基づいたユーザからの検索文字列および検索文字列に対する属性情報を入力する入力部と、検索文字列に対する入力可能な属性情報が格納された入力可能候補リストと、多次元データに関する情報が格納された実体データベースと、入力部から入力された検索文字列および入力可能候補リストに基づいて、検索文字列に対する入力可能な属性情報を表示部に表示させる入力可能属性名表示処理部と、表示部に表示された入力可能な属性情報に基づいた入力部から入力された属性情報および検索文字列に基づいて、前記属性情報を含む検索キーを作成する検索キー作成部と、検索キーに基づいた多次元データの検索情報に基づいて、実体データベースを検索し、検索結果を表示部に表示させる実体データ取得部と、を備えたものである。
【００１６】
また、ユーザに対して検索処理に関連する情報を表示する表示部と、表示部の表示情報に基づいたユーザからの検索文字列および検索文字列に対する属性情報を入力する入力部と、検索文字列に対する入力可能な属性情報が格納された入力可能候補リストと、多次元データに関する情報が格納された実体データベースと、を備え、自由な書式で記述された文章を含む多次元データを対象として、検索処理を行う検索システムにおける検索方法であって、入力可能属性名表示処理部で、入力部から入力された検索文字列および入力可能候補リストに基づいて、前記検索文字列に対する入力可能な属性情報を前記表示部に表示させるステップと、検索キー作成部で、表示部に表示された入力可能な属性情報に基づいた入力部から入力された属性情報および検索文字列に基づいて、属性情報を含む検索キーを作成するステップと、実体データ取得部で、検索キーに基づいた多次元データの検索情報に基づいて、実体データベースを検索し、検索結果を表示部に表示させるステップと、を有するものである。
【００１７】
また、ユーザに対して検索処理に関連する情報を表示する表示部と、表示部の表示情報に基づいたユーザからの検索文字列および検索文字列に対する属性情報を入力する入力部と、検索文字列に対する入力可能な属性情報が格納された入力可能候補リストと、多次元データに関する情報が格納された実体データベースと、を備えた計算機システムを用いて、自由な書式で記述された文章を含む多次元データを対象として、検索処理を行う検索プログラムであって、計算機システムを、入力部から入力された検索文字列および入力可能候補リストに基づいて、検索文字列に対する入力可能な属性情報を表示部に表示させる入力可能属性名表示処理部と、表示部に表示された入力可能な属性情報に基づいた入力部から入力された属性情報および検索文字列に基づいて、属性情報を含む検索キーを作成する検索キー作成部と、検索キーに基づいた多次元データの検索情報に基づいて、実体データベースを検索し、検索結果を表示部に表示させる実体データ取得部として機能させるものである。
【発明の効果】
【００１８】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下の通りである。
【００１９】
すなわち、自由な書式で記述された文章を含む多次元データを対象とした検索において、ユーザが属性検索により、検索対象データの範囲を絞りつつ、テキスト検索を行うことが可能になり、ユーザの目的とするデータの抽出が容易になる。
【図面の簡単な説明】
【００２０】
【図１】本発明の一実施の形態に係る検索システムの構成を示す構成図である。
【図２】本発明の一実施の形態に係る検索システムの全体動作を示すフローチャートである。
【図３】本発明の一実施の形態に係る検索システムの図２のステップＳ１０１における入力部がユーザから入力を受け付け、入力可能属性名表示処理部で入力可能な属性名を表示する処理手順を示すフローチャートである。
【図４】本発明の一実施の形態に係る検索システムの検索条件を受け付ける画面例を示す図である。
【図５】本発明の一実施の形態に係る検索システムの入力可能候補リストのスキーマとデータ格納例を示す図である。
【図６】本発明の一実施の形態に係る検索システムの入力可能候補の画面例を示す図である。
【図７】本発明の一実施の形態に係る検索システムの１つの属性が入力された後に次の入力可能候補となる属性名を表示する画面例を示す図である。
【図８】本発明の一実施の形態に係る検索システムの図２のステップＳ１０２における検索キー作成部が検索キーを作成する処理手順を示すフローチャートである。
【図９】本発明の一実施の形態に係る検索システムの属性名リストのスキーマとデータ格納例を示す図である。
【図１０】本発明の一実施の形態に係る検索システムの図２のステップＳ１０３におけるインデックス検索部が検索キーの検索により、データＩＤを取得する処理手順を示すフローチャートである。
【図１１】本発明の一実施の形態に係る検索システムのインデックスＤＢのスキーマとデータ格納例を示す図である。
【図１２】本発明の一実施の形態に係る検索システムの対応リストのスキーマとデータ格納例を示す図である。
【図１３】本発明の一実施の形態に係る検索システムの図２のステップＳ１０４における実体データＩＤリスト作成部が、データＩＤのフィルタリングをして、実体データを取得するための実体データＩＤリストを作成する処理手順を示すフローチャートである。
【図１４】本発明の一実施の形態に係る検索システムの対応リストのデータＩＤマージ例を示す図である。
【図１５】本発明の一実施の形態に係る検索システムの実体データＩＤリストの作成例を示す図である。
【図１６】本発明の一実施の形態に係る検索システムの図２のステップＳ１０５における実体データ取得部が実体データを取得する処理手順を示すフローチャートである。
【図１７】本発明の一実施の形態に係る検索システムの実体ＤＢのスキーマとデータ格納例を示す図である。
【図１８】本発明の一実施の形態に係る検索システムの検索結果表示画面の例を示す図である。
【発明を実施するための形態】
【００２１】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００２２】
＜検索システムの構成＞
図１により、本発明の一実施の形態に係る検索システムの構成について説明する。図１は本発明の一実施の形態に係る検索システムの構成を示す構成図である。
【００２３】
図１に示すように、検索システムを構成する計算機システム１０１およびそのユーザ１００を有し、計算機システム１０１上に配置される、検索管理サブシステム２００、検索サブシステム３００、検索対象データベース（ＤＢ）群４００の相互の関係を模式的に示している。
【００２４】
計算機システム１０１は、中央演算処理装置などの計算処理能力を有する１つ以上の計算機により構成される。
【００２５】
計算機システム１０１の具体例としては、プロセッサ、メモリ、ディスク、バス、通信インタフェース部、入力装置、および出力装置などの要素を備えるＰＣやサーバ等の計算機において、プログラム実行により各処理機能を実現できる。
【００２６】
例えば、プロセッサがディスク等からメモリに検索プログラムやその他の制御プログラムなどをロードして実行することにより、各部の処理が実現される。
【００２７】
検索管理サブシステム２００は、入力部２０１、入力可能属性名表示処理部２０２、および表示部２０３を有している。
【００２８】
入力部２０１はユーザ１００からの検索文字列および検索文字列に対する属性名などの属性情報を入力し、表示部２０３は、ユーザ１００に対して検索処理に関連する情報を表示する。
【００２９】
入力部２０１および表示部２０３は、例えば、計算機によるキーボード、マウス、その他の入力装置の制御処理、ディスプレイ等の出力装置の制御処理などにより構成できる。
【００３０】
検索管理サブシステム２００は、入力部２０１を介してユーザ１００から検索の条件を表現した検索文字列となる文字列を受け取り、検索サブシステム３００に渡す。
【００３１】
入力可能属性名表示処理部２０２は、ユーザ１００が検索単語を入力するときに、その検索単語を値として持つ属性名を表示部２０３に表示させる。
【００３２】
検索条件は、検索単語または、検索単語と属性名の組で表現される。検索文字列は、複数の検索条件を含むこともできる。さらに、検索サブシステム３００が検索対象ＤＢ群４００から抽出した検索結果を受け取り、表示部２０３に表示する。
【００３３】
検索サブシステム３００は、検索文字列に応じて、検索対象ＤＢ群４００からデータを抽出するシステムである。
【００３４】
検索サブシステム３００は、検索キー作成部３０１、インデックス検索部３０２、実体データＩＤリスト作成部３０３、および実体データ取得部３０４を有している。
【００３５】
検索キー作成部３０１は、検索条件に応じて検索単語と属性ビットを組み合わせた検索キーとなる文字列を作成する機能を有する。
【００３６】
インデックス検索部３０２は、インデックスＤＢ４０１から検索キーに対応するデータのＩＤを抽出する機能を有する。
【００３７】
実体データＩＤリスト作成部３０３は、検索条件に応じて、ＩＤのフィルタリングを行い、検索結果として抽出するデータのＩＤリストを作成する機能を有する。
【００３８】
実体データ取得部３０４は、ＩＤリストを基に実体ＤＢ４０２からデータを抽出する機能を有する。
【００３９】
検索対象ＤＢ群４００は、検索対象となるデータを格納しており、インデックスＤＢ４０１、実体ＤＢ４０２、属性名リスト４０３、および入力可能候補リスト４０４を有している。
【００４０】
インデックスＤＢ４０１は、検索キーに対応したデータＩＤのインデックスを格納する。
【００４１】
実体データＤＢ４０２は、データＩＤに紐ついたテキストと属性を１つにまとめた実体データであるデータを格納する。
【００４２】
属性名リスト４０３は、実体データのもつ属性名のリストを格納する。
【００４３】
入力可能候補リスト４０４は、検索文字列の値に対する入力可能な属性の候補のリストを格納する。
【００４４】
＜検索システムの全体動作＞
次に、図２により、本発明の一実施の形態に係る検索システムの全体動作について説明する。図２は本発明の一実施の形態に係る検索システムの全体動作を示すフローチャートであり、検索システムがデータ検索を行う際のシステム全体の検索手順を示している。
【００４５】
また、以下の説明においては、ブログ検索を一例として説明している。
【００４６】
まず、検索管理サブシステム２００は、入力部２０１を介してユーザから検索文字列を受け取る（ステップＳ１０１）。
【００４７】
検索文字列は、検索単語または、検索単語と１つ以上の属性名の組をそれぞれ区切り文字（例えば、空白文字など）で区切って複数入力することもできる。ここでは、検索単語または、検索単語と属性名の組を検索条件と呼ぶ。
【００４８】
検索単語と属性名の区切りは検索条件の区切り文字とは別の文字（例えば、コロンなど）とし、属性名が複数指定される場合の区切り文字も前記区切り文字とは別の文字（例えば、カンマなど）とする。
【００４９】
受け取った検索文字列は、検索サブシステム３００の検索キー作成部３０１に渡され、検索キーが作成される（ステップＳ１０２）。検索キーは、検索単語とその検索単語がどの属性に対して指定された条件かを表す属性ビットを連結した文字列である。
【００５０】
その後、検索キーはインデックス検索部３０２に渡され、インデックス検索部３０２では、検索キーをキーとしてインデックスＤＢ４０１を検索して、その検索キーの条件に一致するデータＩＤのリストを取得する（ステップＳ１０３）。
【００５１】
データＩＤのリストは、１つの検索キーに対して１つ取得される。その後、検索キーとデータＩＤのリストは、実体データＩＤリスト作成部３０３に送られ、指定された条件に従い、全ての条件に当てはまる実体データＩＤリストとなる実体データのＩＤリストを作成する（ステップＳ１０４）。
【００５２】
実体データＩＤリストは、実体データ取得部３０４に渡され、実体データＩＤリストに含まれるデータＩＤをキーとして、実体ＤＢ４０２を検索して、実体データを取得する（ステップＳ１０５）。
【００５３】
最後に、取得した実体データを表示部２０３に渡し、検索結果を表示して（ステップＳ１０６）、処理を終了する。
【００５４】
＜検索システムの詳細動作＞
次に、図３〜図１８により、本発明の一実施の形態に係る検索システムの詳細動作について説明する。
【００５５】
図３〜図１８は本発明の一実施の形態に係る検索システムの詳細動作を説明するための説明図であり、図２に示すステップＳ１０１〜ステップＳ１０５の各ステップの詳細を示している。
【００５６】
図３は図２のステップＳ１０１における入力部２０１がユーザから入力を受け付け、入力可能属性名表示処理部２０２で入力可能な属性名を表示する処理手順を示すフローチャート、図４は検索条件を受け付ける画面例を示す図である。
【００５７】
図５は入力可能候補リスト４０４のスキーマ６０１とデータ格納例６０２を示す図、図６は入力可能候補の画面例を示す図、図７は１つの属性が入力された後に次の入力可能候補となる属性名を表示する画面例を示す図である。
【００５８】
図８は図２のステップＳ１０２における検索キー作成部３０１が検索キーを作成する処理手順を示すフローチャート、図９は属性名リストのスキーマとデータ格納例を示す図である。
【００５９】
図１０は図２のステップＳ１０３におけるインデックス検索部３０２が検索キーの検索により、データＩＤを取得する処理手順を示すフローチャート、図１１はインデックスＤＢ４０１のスキーマとデータ格納例を示す図、図１２は対応リストのスキーマとデータ格納例を示す図である。
【００６０】
図１３は図２のステップＳ１０４における実体データＩＤリスト作成部３０３が、データＩＤのフィルタリングをして、実体データを取得するための実体データＩＤリストを作成する処理手順を示すフローチャート、図１４は対応リストのデータＩＤマージ例を示す図、図１５は実体データＩＤリストの作成例を示す図である。
【００６１】
図１６は図２のステップＳ１０５における実体データ取得部３０４が実体データを取得する処理手順を示すフローチャート、図１７は実体ＤＢ４０２のスキーマとデータ格納例を示す図、図１８は検索結果表示画面の例を示す図である。
【００６２】
［図２のステップＳ１０１の処理手順］
まず、図２のステップＳ１０１における入力部２０１がユーザから入力を受け付け、入力可能属性名表示処理部２０２で入力可能な属性名を表示する処理手順は、図３に示すように、入力部２０１はユーザから検索文字列の入力を受け付ける（ステップＳ２０１）。
【００６３】
このときのユーザの入力を受け付けるＵＩの例を図４に示す。
【００６４】
ＵＩには、図４に示すように、入力を受け付けるためのテキストフィールド５０１と検索を実行時に押下する検索実行ボタン５０２を持つ。
【００６５】
次に、検索単語と属性名の区切り文字が入力されるかどうかを判定する（ステップＳ２０２）。ここでは例として、検索単語と属性名の区切り文字を「：（コロン）」として説明するが、区切りが判定できる文字であれば、どのような文字でも良い。
【００６６】
ステップＳ２０２で区切り文字としてのコロンが入力された場合は、入力されている検索単語を取得して、入力可能候補リスト４０４を検索してその検索単語が持つ属性ビットを取得する（ステップＳ２０３）。
【００６７】
ステップＳ２０２で区切り文字としてのコロンが入力されない場合は、入力の終了判定（ステップＳ２０８）に進む。
【００６８】
図５に入力可能候補リスト４０４のスキーマ６０１とデータ格納例６０２を示す。ブログ本文などのテキストの部分についてはテキストを形態素解析して単語に分割して、その単語に対して入力可能候補を格納する。入力可能候補は、その単語を値として持つ属性の名前である。
【００６９】
そして、入力可能属性名表示処理部２０２は、入力可能候補リスト４０４を検索で取得した入力可能候補をテキストフィールドに表示させる（ステップＳ２０４）。
【００７０】
図５に示す例の場合に、「旅行」という検索単語を入力して、コロンを入力したとき、入力可能候補として「カテゴリ」、「ブログ本文」が取得される。この取得された入力可能候補はリストとして表示される。
【００７１】
図６に入力可能候補の画面例を示す。図６に示す例では、「カテゴリ」、「ブログ本文」が表示されている。
【００７２】
表示された入力可能候補のリストのうち１つの属性名を選択すると選択した属性名がテキストフィールドに入力される（ステップＳ２０５）。
【００７３】
そして、属性名入力後に属性名の区切り文字としてのカンマが入力されるかを判定する（ステップＳ２０６）。ステップＳ２０６で属性名の区切り文字としてのカンマが入力された場合は、入力可能候補を表示するステップＳ２０４の処理に戻り、属性名の表示を行う。
【００７４】
このとき、既に入力済みである属性名は、表示する入力可能候補から除外する。表示する入力可能候補の表示例を図７に示す。図７に示す例では、例えば、既に入力済みである属性名が「ブログ本文」であり、「カテゴリ」のみが表示されている。
【００７５】
属性名の入力処理（ステップＳ２０４〜ステップＳ２０５）は、１つの検索単語の入力に対して繰り返し処理することが可能で、１つの検索単語に対して複数の属性名を入力することも可能である。
【００７６】
また、ステップＳ２０６で属性名入力後に属性名の区切り文字としてのカンマが入力されなかった場合、検索条件の区切り文字の空白文字が入力されるかを判定する（ステップＳ２０７）。ステップＳ２０７で空白文字が入力された場合は、別の検索条件を受け付けるため、ステップＳ２０１に戻る。
【００７７】
また、ステップＳ２０７で空白文字が入力されなかった場合は、入力の終了判定を行う（ステップＳ２０８）。
【００７８】
入力の終了と判定される場合は、例えば、図４に示すＵＩで示した検索実行ボタン５０２を押下したときである。
【００７９】
ステップＳ２０８で入力の終了と判定された場合は、テキストフィールドに入力された検索文字列を検索キー作成部に送り（ステップＳ２０９）、ステップＳ２０８で入力の終了と判定されない場合は、ステップＳ２０１に戻る。
【００８０】
［図２のステップＳ１０２の処理手順］
また、図２のステップＳ１０２における検索キー作成部３０１が検索キーを作成する処理手順は、図８に示すように、まず、検索キー作成部３０１は、入力部２０１からユーザが入力した検索文字列を受け取り、検索文字列を区切り文字（例えば、空白文字）で検索条件に分割する（ステップＳ３０１）。
【００８１】
次に、検索条件から検索キーを作成するため、検索キーを作成していない検索条件があるかを判定する（ステップＳ３０２）。
【００８２】
ステップＳ３０２で検索キーを作成していない検索条件があれば、その検索条件を取得して属性名が指定されているかを判定する（ステップＳ３０３）。
【００８３】
ステップＳ３０３で属性名が指定されている場合は、区切り文字（例えば、コロン）により、検索条件を検索単語と属性名に分割し（ステップＳ３０４）、属性名リスト４０３を読み込む（ステップＳ３０５）。
【００８４】
その後、属性名リスト４０３と入力された属性名の比較を行い、属性ビットを作成する（ステップＳ３０６）。
【００８５】
属性名リスト４０３のスキーマ７０１と格納例７０２を図９に示す。
【００８６】
属性名リスト４０３には、データの持つ属性名が格納されている。入力された属性名は、複数ある場合には、区切り文字（例えば、カンマ）により分割して、それぞれを属性リストと比較する。
【００８７】
例えば、属性名リスト４０３が｛カテゴリ、作成者、作成日、更新日、ブログ本文｝で、入力された属性名が「作成者」の場合、属性名リストの左から２番目に「作成者」が含まれるため、そのビットを１として残りのビットを０とする「０１０００」の属性ビットが得られる。「カテゴリ、ブログ本文」の場合には、属性ビット「１０００１」が得られる。
【００８８】
属性ビットが得られたら、属性ビットと入力された検索単語を区切り文字（例えば、コロン）で連結して、検索キーを作成する（ステップＳ３０８）。
【００８９】
例として、「旅行：ブログ本文」が検索条件であった場合、検索キーは「００００１：旅行」となる。
【００９０】
また、ステップＳ３０３で属性名が指定されず、検索単語だけが指定されている場合は、全ての属性とテキストを検索対象とするため、全てのパターンの属性ビットを作成する（ステップＳ３０７）。
【００９１】
属性名リストが５つであった場合、全てに値が含まれないことを表す「０００００」を除く５桁のビットの全てのパターン、つまり、「００００１」「０００１０」…「１１１１０」「１１１１１」の３１個が属性ビットとして作成される。
【００９２】
属性ビットが作成されたら、まったく属性を選ばない０００００を除いた全てのパターンの検索キーを作成する（ステップＳ３０８）。
【００９３】
例えば、「沖縄」が検索条件であった場合、「００００１：沖縄」、「０００１０：沖縄」…「１１１１０：沖縄」「１１１１１：沖縄」の３１個の検索キーが作成される。
【００９４】
検索キーが作成されたら、作成した検索キーを検索キーリストに追加する（ステップＳ３０９）。
【００９５】
検索キーリストは、作成された検索キーを保持するためのリストで、｛１００００：旅行、００００１：沖縄、０００１０：沖縄、…、１１１１０：沖縄、１１１１１：沖縄｝の形式で保持される。
【００９６】
ステップＳ３０９で検索キーを追加したら、検索キーを作成していない検索条件があるかのステップＳ３０２の判定に戻る。
【００９７】
ステップＳ３０２で検索キーを作成していない検索条件がなく、全ての検索条件に対して検索キーが作成されたら、検索キーリストをインデックス検索部３０２に送付する（ステップＳ３１０）。
【００９８】
［図２のステップＳ１０３の処理手順］
また、図２のステップＳ１０３におけるインデックス検索部３０２が検索キーの検索により、データＩＤを取得する処理手順は、図１０に示すように、まず、インデックス検索部３０２は、検索キー作成部３０１から検索キーリストを取得する（ステップＳ４０１）。
【００９９】
検索キーリストを取得したら、インデックスＤＢ４０１をから検索キーに一致するキーを探し出し、そのキーに紐づくデータＩＤのリストを取得する（ステップＳ４０２）。
【０１００】
図１１にインデックスＤＢ４０１のスキーマ８０１とデータ格納例８０２を示す。
【０１０１】
インデックスＤＢ４０１には、属性ビットと属性に格納されている属性値を区切り文字（例えば、コロン）で結合した文字列をキー、そのキーの条件に適合するデータＩＤのリストをバリューとするデータが格納されている。
【０１０２】
インデックスＤＢ４０１には、属性に対するインデックスに加えて、テキストに対するインデックスも格納される。
【０１０３】
属性ビットとは、その属性値がどの属性に含まれているかをビットで表現した文字列で、データのカラム数分のビットが並び、値が含まれている場合は１、含まれていない場合は０で表現される。
【０１０４】
テキストに対するインデックスは、テキストを形態素解析して分割した単語に対してそれぞれ作成する。
【０１０５】
例として、データに｛カテゴリ、作成者、作成日、更新日、ブログ本文｝があり、ぞれぞれに｛旅行、田中、２０１２０９２５、２０１２０９２５、沖縄に遊びに行った。｝という値を持つ場合、「旅行」の属性ビットは「１０００１」、「田中」の属性ビットは「０１０００」、「２０１２０９２５」の属性ビットは「００１１０」のようになる。
【０１０６】
また、ブログ本文である「沖縄に遊びに行った。」というテキストは、「沖縄」「遊び」「行った」という単語に分割され、「００００１」の属性ビットがつけられる。
【０１０７】
このとき単語は動詞の原型にする等の名寄せを行って変換した単語に対してインデックスを作成しても良い。データＩＤは、データを一意に識別するためにつけられた番号であり、ＲＤＢでの主キーに相当するものである。
【０１０８】
データＩＤのリストを取得したら、検索キーとデータＩＤのリストの対応リストを作成する（ステップＳ４０３）。図１２に対応リストのスキーマ９０１と格納例の一部９０２を示す。
【０１０９】
対応リストを作成したら、対応リストを実体データＩＤリスト作成部３０３に送付する（ステップＳ４０４）。
【０１１０】
［図２のステップＳ１０４の処理手順］
また、図２のステップＳ１０４における実体データＩＤリスト作成部３０３が、データＩＤのフィルタリングをして、実体データを取得するための実体データＩＤリストを作成する処理手順は、図１３に示すように、まず、実体データＩＤリスト作成部３０３は、検索キー作成部３０１から、対応リストを取得する（ステップＳ５０１）。
【０１１１】
対応リストを取得後、検索条件ごとにデータＩＤのリストをマージする（ステップＳ５０２）。対応リストは、検索キーとデータＩＤの対応で作成されているが、１つの検索条件から複数の検索キーが作成される場合があるため、データＩＤをマージする必要がある。
【０１１２】
検索条件は、必ず１つの検索単語を持つため、検索単語が一致している検索キーに紐づくデータＩＤを１つのリストにまとめる。
【０１１３】
データＩＤリストのマージの例を図１４に示す。対応リスト１００１には、「旅行：カテゴリ」と「沖縄」という検索条件に対応する検索キーとデータＩＤを持っている。
【０１１４】
「沖縄」は、３１個の検索キーが作成されるため、この検索キーをマージして１つのデータＩＤのリストとする。マージ後には、２つの検索単語に対応するデータＩＤのリスト１００２が作成される。
【０１１５】
対応リストのデータＩＤのマージ完了後、検索単語をキーとして作成されたマージ後の対応リストから、取得する実体データの実体データＩＤリストを作成する（ステップＳ５０３）。
【０１１６】
例として、今回は入力された検索条件は全てＡＮＤ条件とした場合、それぞれの検索単語の持つデータＩＤリストの積集合を求めて、その積集合を実体データＩＤリストとする。
【０１１７】
入力時の検索条件を区切り文字（例：＆、｜など）にして、それぞれの区切り文字に対応する論理式（ＡＮＤ、ＯＲ）を条件として、実体データＩＤリストを求めることもできる。
【０１１８】
実体データＩＤリストの作成例を図１５に示す。図１５のマージ後の対応リスト１１０１で全ての検索条件のＡＮＤで実体データＩＤリスト１１０２を求める場合、｛１０００１、１０００７、１０００８｝と｛１０００１、１０００９｝の積集合である｛１０００１｝が実体データＩＤリストとして求められる。
【０１１９】
最後に、実体データＩＤリストを実体データ取得部３０４に送付する（ステップＳ５０４）。
【０１２０】
［図２のステップＳ１０５の処理手順］
また、図２のステップＳ１０５における実体データ取得部３０４が実体データを取得する処理手順は、図１６に示すように、まず、実体データ取得部３０４は、実体データＩＤリスト作成部３０３から実体データＩＤリストを取得する（ステップＳ６０１）。
【０１２１】
そして、実体データＩＤリストに格納されているデータＩＤの実体データを実体ＤＢ４０２から取得する（ステップＳ６０２）。
【０１２２】
図１７に実体ＤＢ４０２のスキーマ１２０１とデータ格納例１２０２に示す。
【０１２３】
実体ＤＢ４０２から実体データを取得したら、取得した実体データを表示部２０３に送付する（ステップＳ６０３）。
【０１２４】
表示部２０３は実体データ取得部３０４から実体データを受け取り、検索結果表示画面に検索結果を表示する（図２のステップＳ１０６）。検索結果の表示画面例を図１８に示す。
【０１２５】
検索結果表示画面は、図１８に示すように、入力された検索条件を表示するテキストフィールド１３０１と検索結果の一覧を表示する表１３０２と検索結果一覧表の中から選択した１件の属性を表示するテキストフィールド１３０３を持つ。
【０１２６】
入力された検索条件を表示するテキストフィールド１３０１には、入力された検索条件を表示する。
【０１２７】
属性名が指定されている検索条件の場合には、「属性名＝検索単語」の形式で表示して、属性名が指定されていない検索条件の場合は、「入力検索単語  検索単語」の形式で表示する。
【０１２８】
検索結果一覧表（１３０２）には、検索結果として得られた実体データの一覧を表形式で表示する。
【０１２９】
検索結果一覧表には実体データの持つ全ての属性を表のカラムとして表示しても良いし、ＵＩの設計する人が選択して一部の属性だけを表示しても良い。
【０１３０】
検索結果詳細（１３０３）には、検索結果一覧表から選択した１件に対応した実体データの全ての属性とテキストを表示する。
【０１３１】
以上の処理により、自由な書式で記述された文章を含む多次元データを対象とした検索において、ユーザが属性検索により、検索対象データの範囲を絞りつつ、テキスト検索を行うことが可能になり、ユーザの目的とするデータの抽出が容易になる。
【０１３２】
また、本発明は、自由な書式で記述されたテキストなどの文章と属性の両方を持つデータが蓄積されていく業務において、データ検索が必要な場合、その作業の支援を行うことができる。
【０１３３】
例えば、ヘルプデスク業務において、オペレータがユーザからの問合せに対して、過去の問合せ履歴を検索して、その検索結果を参考にしてユーザに回答を行うことができる。
【０１３４】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【符号の説明】
【０１３５】
１００…ユーザ、１０１…計算機システム、２００…検索管理サブシステム、２０１…入力部、２０２…入力可能属性名表示処理部、２０３…表示部、３００…検索サブシステム、３０１…検索キー作成部、３０２…インデックス検索部、３０３…実体データＩＤリスト作成部、３０４…実体データ取得部、４００…検索対象ＤＢ群、４０１…インデックスＤＢ、４０２…実体ＤＢ、４０３…属性名リスト、４０４…入力可能候補リスト、５０１…テキストフィールド、５０２…検索実行ボタン。
【図１】
2014194608.tif 000003
【図２】
2014194608.tif 000004
【図３】
2014194608.tif 000005
【図４】
2014194608.tif 000006
【図５】
2014194608.tif 000007
【図６】
2014194608.tif 000008
【図７】
2014194608.tif 000009
【図８】
2014194608.tif 000010
【図９】
2014194608.tif 000011
【図１０】
2014194608.tif 000012
【図１１】
2014194608.tif 000013
【図１２】
2014194608.tif 000014
【図１３】
2014194608.tif 000015
【図１４】
2014194608.tif 000016
【図１５】
2014194608.tif 000017
【図１６】
2014194608.tif 000018
【図１７】
2014194608.tif 000019
【図１８】
2014194608.tif 000020