(57)【要約】      （修正有）【課題】データを検索するための論理式の作成を簡便にする。【解決手段】装置は、項と、項を論理演算子で組み合わせた部分式文字列の組み合わせからなる論理式文字列を記憶する手段と、前記論理式文字列を項、または、項を論理演算子で組み合わせた部分式ツリーの再帰構造からなる部分式ツリーとして分割する手段、前記部分式文字列にて検索した件数を記憶する件数記憶手段を持つ。また、前記部分式文字列、部分式ツリーを、前記件数記憶手段に記憶された件数を伴って表示する表示手段を持ち、部分式文字列を残し部分式ツリーを非表示とするか、部分式文字列とともに部分式ツリーを表示するかを選択する手段を備える。利用者は、論理式の階層構造を容易に把握するとともに、該当件数を知ることが出来き、前記表示手段が表示した部分式文字列及び部分式ツリーを編集することができる。さらに、入力した部分式文字列を、履歴として保存する手段を備える。【選択図】図６
2014081905.tif 000002
【特許請求の範囲】
【請求項１】
データベースと、
項と、項を論理演算子で組み合わせた部分式文字列の組み合わせからなる論理式文字列を記憶する手段と、
前記論理式文字列を項、または、項を論理演算子で組み合わせた部分式ツリーの再帰構造からなる部分式ツリーとして分割する手段と、
前記部分式文字列を前記データベースにて検索した際の件数を記憶する件数記憶手段と、
前記部分式文字列、または、部分式ツリー、または、部分式文字列および部分式ツリーの両方を、前記件数記憶手段に記憶された件数を伴って表示する表示手段
を備えた情報処理装置において、
前記表示手段は、利用者の操作により部分式文字列を残し部分式ツリーを非表示とするか、部分式文字列とともに部分式ツリーを表示するかを選択する手段を備えた情報処理装置
【請求項２】
前記表示手段は、部分式ツリーを２分木で表示することを特徴とする請求項１記載の情報処理装置
【請求項３】
前記表示手段は、部分式ツリーをＮ分木で表示することを特徴とする請求項１記載の情報処理装置
【請求項４】
前記表示手段が表示した部分式文字列を履歴として保存する手段を備え、前記表示手段は更に前記履歴として保存する手段から履歴を取得し表示することを特徴とする請求項１乃至３の情報処理装置
【請求項５】
前記表示手段が表示した部分式文字列を利用者が編集することができる請求項１乃至４の情報処理装置
【請求項６】
前記表示手段が表示した部分式ツリーを利用者が編集することができる請求項１乃至５の情報処理装置
【請求項７】
データベースを有する情報処理装置において実行され、利用者の操作により論理式を編集するための編集プログラムであって、
前記プログラムは、
項と、項を論理演算子で組み合わせた部分式文字列の組み合わせからなる論理式文字列を記憶するステップと、
前記論理式文字列を項、または、項を論理演算子で組み合わせた部分式ツリーの再帰構造からなる部分式ツリーとして分割するステップと、
前記部分式文字列を前記データベースにて検索した際の件数を記憶するステップと、
前記部分式文字列、または、部分式ツリー、または、部分式文字列および部分式ツリーの両方を、前記件数記憶手段に記憶された件数を伴って表示するステップと、
利用者の操作により部分式文字列を残し部分式ツリーを非表示とするか、部分式文字列とともに部分式ツリーを表示するかを選択するステップを備えたことを特徴とする編集プログラム
【請求項８】
データベースを有する情報処理装置において、利用者の操作により論理式を編集するための論理式編集方法であって、
前記論理式編集方法は、
項と、項を論理演算子で組み合わせた部分式文字列の組み合わせからなる論理式文字列を記憶するステップと、
前記論理式文字列を項、または、項を論理演算子で組み合わせた部分式ツリーの再帰構造からなる部分式ツリーとして分割するステップと、
前記部分式文字列を前記データベースにて検索した際の件数を記憶するステップと、
前記部分式文字列、または、部分式ツリー、または、部分式文字列および部分式ツリーの両方を、前記件数記憶手段に記憶された件数を伴って表示するステップと、
利用者の操作により部分式文字列を残し部分式ツリーを非表示とするか、部分式文字列とともに部分式ツリーを表示するかを選択するステップからなることを特徴とする論理式編集方法。
【発明の詳細な説明】
【技術分野】
【０００１】  この発明はデータを検索するための論理式の作成を補助するグラフィカルインターフェースを提供する装置に関わる。
【背景技術】
【０００２】  近年、インターネット上の情報はもとより、社内や組織内で保持する情報から、必要な情報を見つけるために、キーワードを指定して、キーワードに該当する情報を検索する方法を採ることが多い。【０００３】  しかしながら、保持される情報はますます増え、希望する情報を見つける事は、情報の量に比例して難しくなってきている。【０００４】  このような大量の情報から希望する情報を出来る限り特定できるように、単純なキーワードによる検索だけではなく、キーワードを含めた論理式を記述出来る事が一般的である。利用者は、キーワードをＡＮＤ条件でつなぐ事で情報を絞り込んだり、ＯＲ条件でつなぐ事で該当する範囲を広めたりしながら希望する情報を探して行く。
【先行技術文献】
【０００５】
【特許文献１】特開２０１２−７８９６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】  検索のキーワードに論理式を記述する方法では、論理式が複雑になるとＡＮＤ条件やＯＲ条件の結合の範囲や論理式の階層関係を把握することが困難であるという課題があった。同様の理由から論理式の修正が困難であるという課題があった。【０００７】  また、情報を絞り込んだり、該当する範囲を広めたりする場合に、該当件数は一つの判断材料となるが、該当件数を求めるためには、実際に検索を行う必要があった。実際に検索を行ったとしても、論理式全体の該当件数しかわからず、論理式を構成する一部の論理式について、該当件数を求めることはできなかった。
【課題を解決するための手段】
【０００８】  本発明は、データベースと、項と、項を論理演算子で組み合わせた部分式文字列の組み合わせからなる論理式文字列を記憶する手段と、前記論理式文字列を項、または、項を論理演算子で組み合わせた部分式ツリーの再帰構造からなる部分式ツリーとして分割する手段を持つ。【０００９】  前記部分式文字列を前記データベースにて検索した際の件数を記憶する件数記憶手段と、前記部分式文字列、または、部分式ツリー、または、部分式文字列および部分式ツリーの両方を、前記件数記憶手段に記憶された件数を伴って表示する表示手段を持つ。【００１０】  前記表示手段は、利用者の操作により部分式文字列を残し部分式ツリーを非表示とするか、部分式文字列とともに部分式ツリーを表示するかを選択する手段を備える。【００１１】  前記表示手段は、部分式ツリーを２分木で表示することを特徴とする。【００１２】  前記表示手段は、部分式ツリーをＮ分木で表示することを特徴とする。【００１３】  前記表示手段が表示した部分式文字列を履歴として保存する手段を備え、前記表示手段は更に前記履歴として保存する手段から履歴を取得し表示することを特徴とする。【００１４】  前記表示手段が表示した部分式文字列を利用者が編集することができる。【００１５】  前記表示手段が表示した部分式ツリーを利用者が編集することができる。
【発明の効果】
【００１６】  論理式を部分式ツリーの再帰構造からなる部分式ツリーとして分割し視覚的に表示することで、利用者は複雑な論理式の構造を容易に把握することが出来るという効果を有する。【００１７】  論理式を部分式文字列として分割して表示することで、利用者は複雑な論理式を分解して理解することが出来る。この部分式文字列を前記部分式ツリーと合わせて表示することで、利用者は複雑な論理式の構造を容易に把握することが出来るという効果を有する。【００１８】  部分式ツリーは、検索した際の件数が合わせて表示されるため、利用者は実際に検索を行わなくても、論理式に該当する件数を知ることが出来る。部分式ツリーは再帰構造となっているため、利用者は検索に用いた論理式全体の件数だけでなく、論理式の個々の部分についても件数を把握できる。これにより、論理式を見直すための判断材料を得ることが出来るという効果を有する。【００１９】  部分式ツリーは、利用者の操作により、部分式文字列を残し部分式ツリーを非表示とするか、部分式文字列とともに部分式ツリーを表示するかを選択できるため、不必要な部分式ツリーを非表示にすることで複雑な論理式の把握をより容易にすることが出来るという効果を有する。【００２０】  これら、論理式の構造を容易に把握することができる効果は、論理式を編集する際にも効果的であることは言うまでもない。【００２１】  論理式の編集は、部分式文字列を編集する方法と部分式ツリーを編集する方法のいずれも可能である。そのため状況に応じてより適した方法で編集することが出来るという効果がある。【００２２】  例えば、部分式文字列を編集する方式では、論理式はテキスト形式となるため、論理式の一部をオペレーティングシステムのクリップボード機能でテキスト形式としてコピーして、別の場所に張り付けたり、有用な部分式文字列をテキストファイル形式でローカルファイルシステムに保存したりすることが可能である。部分式ツリーを編集する方式では、論理式の構造を視覚的に把握した状態で編集を行うことが可能である。また、マウス等ポインティングデバイスによって編集操作を可能にすることもできる。【００２３】  部分式ツリーはその全部又は一部を履歴として保存できるため、編集を間違えた場合に元に戻したり、過去の有用な部分式文字列を再利用する等して、論理式の編集をより容易にすることが出来るという効果がある。【００２４】  特許文献１「特開２０１２−７８９６６」は検索クエリーの作成を支援する装置の発明であり、論理式をツリー構造で表示、編集することが出来るが、部分式文字列を表示する手段がなく、不必要な部分式ツリーを非表示にする手段がない。本発明では不必要な部分式ツリーを非表示にし、部分式文字列と件数のみの表示にすることが可能である。また、論理式の編集を文字列で行う手段がない。本発明では、部分式文字列の編集を行うことが出来る。
【発明を実施するための形態】
【実施例１】
【００２５】  発明を実施するために最適な形態の一つを図を使って示す。【００２６】  図１は検索画面である。検索画面は検索テキストボックス（７０１）と論理式作成補助ボタン（７０２）、検索ボタン（７０３）、検索結果表示部（７０４）からなる。利用者が検索テキストボックス（７０１）に論理式を入力し、検索ボタン（７０３）を押下すると、検索結果が検索結果表示部（７０４）に表示される。また、利用者が検索テキストボックス（７０１）に論理式を入力し、論理式作成補助ボタン（７０２）を押下すると、論理式に文法上の間違いが無ければ、論理式作成補助ダイアログ（７０５）が表示される。なお、論理式作成補助ボタン（７０２）の押下は、タブキー等の任意のキーを押下した場合に、同じ動作をするようにしても良い。【００２７】  図２に、検索テキストボックス（７０１）に論理式として検索キーワードのみを入力した後、論理式作成補助ダイアログ（７０５）を表示した検索画面を示す。論理式作成補助ダイアログ（７０５）は、論理式の木構造を視覚的に表示し、編集を行うためのダイアログである。論理式作成補助ダイアログ（７０５）は、閉じるボタン（７０６）と全体論理式ラベル（７０７）、履歴移動ボタン（７０８）、部分式ツリー表示部（７０９）からなる。【００２８】  閉じるボタン（７０６）は、論理式作成補助ダイアログ（７０５）を終了するためのボタンである。全体論理式ラベル（７０７）には、論理式作成補助ダイアログ（７０５）にて編集した結果の論理式と前記論理式で検索した結果該当となる件数が表示される。履歴移動ボタン（７０８）は、論理式の編集内容の履歴を辿ることが出来るボタンである。履歴移動ボタン（７０８）の左ボタンを押下すると、ひとつ前の状態に戻すことが出来る。
履歴移動ボタン（７０８）の右ボタンを押下すると、前に戻した状態から編集後の状態へ再度進める事が出来る。部分式ツリー表示部（７０９）は、論理式が部分式ツリーの再帰構造で視覚的に表示される領域である。【００２９】  部分式ツリー表示部（７０９）は、表示する論理式が検索キーワードのみの場合、論理式の範囲を示す枠（７１０）が表示され、論理式の範囲を示す枠（７１０）の中に操作ボタン（７１１）とターム及び演算子選択ボックス（７１２）、ターム入力ボックス（７１３）、ターム表示ラベル（７１４）が表示される。操作ボタン（７１１）は、論理式に対して行うことが出来る操作を呼び出すことが出来るボタンである。操作の種類は、「入れ替え」、「削除」、「コピー」、「切り取り」及び「貼り付け」がある。ターム及び演算子選択ボックス（７１２）は、ＡＮＤ、ＯＲ、ＮＯＴ、タームのいずれかが選択でき、初期時はタームが選択される。ターム入力ボックス（７１３）は、検索キーワードを入力するテキストボックスである。ターム表示ラベル（７１４）は、検索キーワードと検索キーワードで検索した場合の該当件数が表示される。【００３０】  ターム及び演算子選択ボックス（７１２）にてＡＮＤ、ＯＲ、ＮＯＴのいずれかを選択すると、選択した演算子と新しい検索キーワード入力行が追加される。図３にＡＮＤを選択した直後の論理式作成補助ダイアログが表示された検索画面を示す。ここで新たに、ツリー開閉ボタン（７１５）、論理演算子選択ボックス（７１６）、部分式編集ボタン（７１８）が表示される。【００３１】  ツリー開閉ボタン（７１５）を押下すると、図４のように論理演算子選択ボックス（７１６）と部分式表示ラベル（７１７）、部分式編集ボタン（７１８）を残し他の要素が非表示となる。再度ツリー開閉ボタン（７１５）を押下すると、非表示された項目が表示され図３の状態に戻る。論理演算子選択ボックス（７１６）は、上下の検索キーワード同士の関係を、ＡＮＤ、ＯＲ、ＮＯＴから選択できる。部分式表示ラベル（７１７）は、部分式文字列と、検索を行った場合の該当件数を表示する。部分式編集ボタン（７１８）は、部分式文字列を直接編集するためのボタンである。部分式編集ボタン（７１８）を押下すると、図５に示すように、部分式表示ラベル（７１７）が、入力可能な部分式入力ボックス（７１９）に変わる。部分式入力ボックス（７１９）は、論理式を直接入力することが出来る。入力を終えて編集終了ボタン（７２０）を押下すると、入力した論理式に従い木構造が再度作成される。このとき入力された論理式に間違いがあれば、その旨のエラーを表示する事も出来る。【００３２】  論理式の範囲を示す枠（７１０）は、入れ子にすることができる。これにより論理式の木構造を階層的に表示する。図６は、図３にＯＲ条件を追加した画面の例である。この入れ子は何段でも行うことが出来る。【００３３】  操作ボタン（７１１）について詳細を説明する。操作ボタン（７１１）は、表示された位置により操作の対象となる範囲が違う。タームの左にある操作ボタン（７１１）の場合は、操作の対象となる範囲は、同一行のタームが操作の対象となる。論理演算子の左にある操作ボタン（７１１）の場合は、自身を含��論理式の範囲を示す枠（７１０）で囲われた部分が操作の対象となる。操作ボタン（７１１）を押下すると、操作選択メニュー（７２１）が表示される。操作選択メニュー（７２１）には「入れ替え」、「削除」、「コピー」、「切り取り」及び「貼り付け」が表示され、利用者に選択された操作が実行される。「入れ替え」を選択すると、論理演算子を中心に第１項目と第２項目が入れ替えられる。「削除」を選択すると操作の対象となる範囲の論理式が削除される。このとき不要になる論理演算子もあわせて削除される。「コピー」を選択すると、操作の対象となる範囲の論理式がメモリ上にコピーされる。「切り取り」を選択すると、操作の対象となる範囲の論理式が削除されるとともにメモリ上にコピーされる。事前に「コピー」又は「切り取り」を実施した後に、「貼り付け」を選択すると、メモリ上にコピーされていた論理式がＡＮＤ条件で接続される。【００３４】  また、ユーザーインターフェースにマウス等のポインティングデバイスを使っている場合、ドラッグアンドドロップで論理式の移動を行うことを可能にしても良い。この場合操作ボタン（７１１）の上でマウスの左ボタンを押下し、そのまま移動を行いたい箇所までポインタを移動（ドラッグ）し、左ボタンを開放（ドロップ）すると、ポインタが指し示す箇所に論理式が移動する。【００３５】  利用者は、以上で説明したターム及び論理演算子の選択、タームの編集、論理演算子の選択、部分式文字列の編集、入れ替え、削除、コピー、切り取り、貼り付け等の操作を組み合わせて論理式を編集する。希望の論理式が出来たならば、全体論理式ラベル（７０７）を押下すると、論理式が検索テキストボックス（７０１）に入力され、検索が実行される。また、論理式全体だけでなく論理式の一部についても、部分式表示ラベル（７１７）を押下する事で同様に検索を行うことが出来る。【００３６】  本発明を実現する装置は、前記した検索画面（２００）と、検索画面（２００）を表示するＷＥＢブラウザ（１００）と、検索画面（２００）を保存する画面配信装置（３００）と、論理式を解析するための論理式解析装置（４００）と、論理式の該当件数を求めるための件数検索装置（５００）と、論理式にて検索を行う検索装置（６００）を備える。これら装置の関係をあらわしたブロック図を図７に示す。【００３７】  利用者は、ＷＥＢブラウザ（１００）を使って、画面配信装置（３００）から検索画面（２００）を取得する。ＷＥＢブラウザは検索画面（２００）を表示する。利用者が検索画面（２００）の検索テキストボックス（７０１）に論理式を入力し、７０２作成補助ボタンを押下すると、検索画面（２００）が持つ論理式送信ロジック（２０１）を使って、検索テキストボックス（７０１）に入力された論理式を論理式解析装置（４００）に非同期で送信する。ここで、非同期とは通信の返答を待っている間にほかの処理を実行可能とし、ほかの処理を行っている間に返答があれば、受信処理を実行する通信方式を指す。【００３８】  論理式解析装置（４００）は、二分木に構造化された論理式に変換する。二分木に構造化された論理式とは、二分木の各枝に検索キーワードを持ち、節に論理演算子を持つ二分木である。二���木に構造化された論理式の概念図を図８に示す。【００３９】  論理式解析装置（４００）が、送られた論理式から二分木に構造化された論理式に変換する処理は図２０−１及び図２０−２に示すフローにそって次のように行う。論理式解析装置（４００）は、まず事前処理Ｓ０１にて二分木を保存するスタックを用意する。次に単語分解処理Ｓ０２により送られた論理式を前から１文字ずつ読み、文字列から単語を取り出す。単語がなければ処理は終了である。単語が“（”の場合、スタック作成処理Ｓ０３により新しい二分木をスタックに積み単語分解処理Ｓ０２に戻る。単語が“）”でありスタックに二分木が二つ以上積まれていた場合、スタック取り出し処理Ｓ０４によりスタックから二分木を一つ取り出し、次のスタックの二分木の枝に取り出した二分木を設定する。単語がいずれでもない場合、二分木の枝に検索キーワードとして判別した単語を設定する。【００４０】  次に単語分解処理Ｓ０６により空白以外の文字が見つかるまで読み進め、単語がなかったならば処理を終了する。単語があったならば単語の種類によって処理を切り替える。単語が“ＡＮＤ”、“ＯＲ”又は“ＮＯＴ”の場合、ひとつ前の演算子と優先順位を比較し、優先順位が低いか同じであれば、節作成処理Ｓ０７により演算子の節を作成し、作成した節の枝に前の節を設定し、単語分解処理Ｓ０２に戻る。優先順位が高ければ、節作成処理Ｓ０８により演算子の節を作成し、最後に設定した枝に置き換え、枝を節の下に移動し、単語分解処理Ｓ０２に戻る。単語がいずれでもなかった場合、“ＡＮＤ”が存在したものとし、ひとつ前の演算子と優先順位を比較する。優先順位が低いか同じであれば、節作成処理Ｓ０７によりＡＮＤ演算子の節を作成し、作成した節の枝に前の節を設定し、単語による分岐Ｂ０２に戻る。優先順位が高ければ、節作成処理Ｓ０８によりＡＮＤ演算子の節を作成し、最後に設定した枝に置き換え、枝を節の下に移動し、単語による分岐Ｂ０２に戻る。【００４１】  論理式解析装置（４００）は、二分木に構造化された論理式を検索画面（２００）に返却する。返却する形式はいずれでも構わないが、当該実施例ではＪＳＯＮを利用する。ＪＳＯＮで表現した二分木に構造化された論理式を図９に示す。【００４２】  検索画面（２００）は二分木に構造化された論理式を受け取ると二分木表示ロジック（２０２）使って画面に表示する。【００４３】  二分木表示ロジック（２０２）は、受け取った二分木に構造化された論理式の節を論理式の範囲を示す枠（７１０）を表すＨＴＭＬ要素に、節に設定された演算子を論理演算子選択ボックス（７１６）を表すＨＴＭＬ要素に、枝に設定された検索キーワードをターム入力ボックス（７１３）及びターム表示ラベル（７１４）を表すＨＴＭＬ要素に変換する。同時に二分木に構造化された論理式の節から演算子を取り出し、枝の検索キーワードと連結していくことで整形された論理式を求め、部分式表示ラベル（７１７）を表すＨＴＭＬの要素に変換する。【００４４】  検索画面（２００）は、二分木に構造化された論理式から求めた整形された論理式を件数検索装置（５００）に非同期で送信する。件数検索装置（５００）は送信された論理式で検索を行い、該���件数を返却する。検索画面（２００）は、返却された件数を全体論理式ラベル（７０７）、ターム表示ラベル（７１４）及び部分式表示ラベル（７１７）に表示する。テキストボックスへの論理式の入力から、件数の表示までのシーケンスを図１０に示す。【００４５】  この論理式を解析し、件数を表示するまでの処理は、部分式文字列及び部分式ツリーの編集を行ったときも同様に行う。また、複数の部分式文字列及び部分式ツリーについて変更がある場合は、変更箇所毎に処理は非同期かつ並列で行う。
【実施例２】
【００４６】  実施例１を元に、検索した論理式の履歴を保存し再利用することを可能にした場合の例を示す。
実施例１で用意した装置に加えて、論理式を保存する装置（９００）を備える。また、検索画面の検索結果表示部（７０４）のヘッダ部分に、論理式保存ボタン（７２４）を設け、論理式作成補助ダイアログ（７０５）に保存済み論理式表示ボタン（７２５）を追加する。さらに、保存済みの論理式の一覧をを表示するために、保存済み論理式一覧表示パネル（７２６）を用意する。この画面イメージを図１１、図１２及び図１３に示す【００４７】  実施例１で示したように、検索画面にて利用者が検索テキストボックス（７０１）に論理式を入力し、検索ボタン（７０３）を押下すると、検索結果が検索結果表示部（７０４）に表示される。このとき検索画面は、検索装置６００に論理式を送信すると同時に、送信した論理式をＷｅｂブラウザのメモリ上に履歴として保存する。また、検索結果表示部（７０４）に設けた、論理式保存ボタン（７２４）を押下すると、この時検索を行った論理式が論理式を保存する装置９００へ送信され、論理式を保存する装置９００は受け取った論理式を保存する。【００４８】  保存した論理式を利用するときは、利用者が保存済み論理式表示ボタン（７２５）を押下し保存済み論理式一覧表示パネル（７２６）を表示する。保存済み論理式一覧表示パネル（７２６）は、選択タブ（７２７）、論理式一覧（７２８）、論理式コピーボタン（７２９）及び削除ボタン（７３０）で構成される。【００４９】  選択タブ（７２７）は、検索を実行した際に自動保存された論理式の一覧と、利用者が論理式保存ボタン（７２４）を押下して明示的に保存した論理式の一覧を切り替えるためのタブボタンである。論理式一覧（７２８）は保存された論理式の一覧が表示される領域である。履歴タブを選択するとブラウザのメモリ上に保存された論理式の一覧が表示される。お気に入りタブを選択すると、検索画面は論理式を保存する装置９００から保存されている論理式を取得し、取得した論理式の一覧が表示される。自動保存した論理式の一覧と明示的に保存した論理式の一覧で表示される項目に違いはない。利用者が論理式一覧（７２８）から挿入したい論理式を選択し論理式コピーボタン（７２９）を押下すると、選択した保存済みの論理式がメモリ上にコピーされる。利用者が挿入したい位置の操作ボタン（７１１）を押下し、「貼り付け」を選択すると、メモリ上にコピーされていた論理式がＡＮＤ条件で接続される。論理式一覧（７２８）に表示された論理式の一覧に不要な論理式があれば、削除ボタン（７３０）を押下して削除することも出来る。【００５０】  また、ユーザーインターフェースにマウス等のポインティングデバイスを使っている場合、ドラッグアンドドロップで保存した論理式の挿入を行うことを可能にしても良い。この場合論理式一覧（７２８）に表示された論理式の上でマウスの左ボタンを押下し、そのまま挿入を行いたいターム又は部分式文字列の上までポインタを移動（ドラッグ）し、左ボタンを開放（ドロップ）すると、ポインタが指し示す箇所のターム又は部分式文字列に選択した論理式がＡＮＤ条件で接続される。
【実施例３】
【００５１】  実施例２を元に、部分式文字列を保存し再利用することを可能にした場合の例を示す。【００５２】  実施例２で用意した装置及び変更した画面に加え、論理式作成補助ダイアログ（７０５）に、部分式保存ボタン（７３１）を設ける。この画面イメージを図１４に示す【００５３】  利用者が再利用したいと考えた部分式文字列について、当該部分式文字列の近傍に表示した部分式保存ボタン（７３１）を押下すると、９００部分式を保存する装置に論理式である部分式文字列が送信され保存される。【００５４】  保存した論理式を利用するときは、実施例２と同様に、利用者が保存済み論理式表示ボタン（７２５）を押下し保存済み論理式一覧表示パネル（７２６）を表示する。【００５５】  選択タブ（７２７）は、検索を実行した際に自動保存された論理式の一覧と、利用者が論理式保存ボタン（７２４）又は部分式保存ボタン（７２２）を押下して明示的に保存した論理式の一覧を切り替えるためのタブボタンである。論理式一覧（７２８）は保存された論理式の一覧が表示される領域である。お気に入りタブを選択すると、検索画面は論理式を保存する装置９００から保存されている論理式を取得し、取得した論理式の一覧が表示される。自動保存した論理式の一覧と明示的に保存した論理式の一覧で表示される項目に違いはない。利用者が論理式一覧（７２８）から挿入したい論理式を選択し論理式コピーボタン（７２９）を押下すると、選択した保存済みの論理式がメモリ上にコピーされる。利用者が挿入したい位置の操作ボタン（７１１）を押下し、「貼り付け」を選択すると、メモリ上にコピーされていた論理式がＡＮＤ条件で接続される。論理式一覧（７２８）に表示された論理式の一覧に不要な論理式があれば、削除ボタン（７３０）を押下して削除することも出来る。【００５６】  また、ユーザーインターフェースにマウス等のポインティングデバイスを使っている場合、ドラッグアンドドロップで保存した論理式の挿入を行うことを可能にしても良い。この場合論理式一覧（７２８）に表示された論理式の上でマウスの左ボタンを押下し、そのまま挿入を行いたいターム又は部分式文字列の上までポインタを移動（ドラッグ）し、左ボタンを開放（ドロップ）すると、ポインタが指し示す箇所のターム又は部分式文字列に選択した論理式がＡＮＤ条件で接続される。
【実施例４】
【００５７】  実施例１を元に、論理式をＮ分木に構造化するように改良した場合の例を示す。実施例１に示す方法では、論理式を表す木構造を二分木としていた。二分木は構造が単純であり、実装が容易である反面、列挙する検索キーワードが多いときに、階層が深くなってしまうという問題があった。本実施例では、論理式を表す木構造としてＮ分木を用いることで、この問題を解決する。【００５８】  図１３は論理式をＮ分木に構造化するようにした場合の、論理式作成補助ダイアログの例である。論理式の範囲を示す枠（８０１）内には、実施例１では、ターム又は部分式ツリーいずれか二つまでしか記述できなかったが、この例ではＮ個のターム又は部分式ツリーを記述できる。それに伴い論理演算子選択ボックス（８０２）で選択された演算子の意味は、２つのターム又は部分式ツリーの関係ではなく、Ｎ個のターム又は部分式ツリーの関係となっている。それにともない部分式表示ラベル（８０３）の表示位置は、論理式の範囲を示す枠内の１行目とした。【００５９】  Ｎ分木となったことで、新たなタームを追加する場合、論理式の範囲を示す枠（８０１）内の他のタームと同列に追加するか、新しい論理式の範囲を示す枠（８０１）を設けて、一つ下位に追加するかを選択する必要がある。そこで操作選択メニュー（８０４）の選択肢として、同列に追加と下位に追加を用意する。【００６０】  実施例４を実現する装置は、実施例１と同様に、検索画面（２００）を表示するＷＥＢブラウザ（１００）と、検索画面（２００）を保存する画面配信装置（３００）と、論理式を解析するための論理式解析装置（４００）と、論理式の該当件数を求めるための件数検索装置（５００）と、論理式にて検索を行う検索装置（６００）を備える。このうち検索画面（２００）と論理式解析装置（４００）の変更が必要である。【００６１】  利用者は、ＷＥＢブラウザ（１００）を使って、画面配信装置（３００）から検索画面（２００）を取得する。ＷＥＢブラウザは検索画面（２００）を表示する。利用者が検索画面（２００）の検索テキストボックス（７０１）に論理式を入力し、７０２作成補助ボタンを押下すると、検索画面（２００）が持つ論理式送信ロジック（２０１）を使って、検索テキストボックス（７０１）に入力された論理式を論理式解析装置（４００）に非同期で送信する。【００６２】  論理式解析装置（４００）は、Ｎ分木に構造化された論理式に変換する。Ｎ分木に構造化された論理式とは、Ｎ分木の各枝に検索キーワードを持ち、節に論理演算子を持つＮ分木である。Ｎ分木に構造化された論理式の概念図を図１４に示す。【００６３】  論理式解析装置（４００）が、送られた論理式からＮ分木に構造化された論理式に変換する処理は図２１−１及び図２１−２に示すフローにそって次のように行う。論理式解析装置（４００）は、まず事前処理Ｓ２１にてＮ分木を保存するスタックを用意する。次に単語分解処理Ｓ２２により送られた論理式を前から１文字ずつ読み、文字列から単語を取り出す。単語がなければ処理は終了である。単語が“（”の場合、スタック作成処理Ｓ２３により新しいＮ分木をスタックに積み単語分解処理Ｓ２２に戻る。単語が“）”でありスタックにＮ分木���二つ以上積まれていた場合、スタック取り出し処理Ｓ２４によりスタックからＮ分木を一つ取り出し、次のスタックのＮ分木の枝に取り出したＮ分木を設定する。単語がいずれでもない場合、Ｎ分木の枝に検索キーワードとして判別した単語を設定する。【００６４】  次に単語分解処理Ｓ２６により空白以外の文字が見つかるまで読み進め、単語がなかったならば処理を終了する。単語があったならば単語の種類によって処理を切り替える。単語が“ＡＮＤ”、“ＯＲ”又は“ＮＯＴ”の場合、ひとつ前の演算子と優先順位を比較し、優先順位が低ければ、節作成処理Ｓ２７により演算子の節を作成し、作成した節の枝に前の節を設定し、単語分解処理Ｓ２２に戻る。優先順位が高ければ、節作成処理Ｓ２８により演算子の節を作成し、最後に設定した枝に置き換え、枝を節の下に移動し、単語分解処理Ｓ２２に戻る。演算子が同じであれば、空の枝を追加し、単語分解処理Ｓ２２に戻る。単語がいずれでもなかった場合、“ＡＮＤ”が存在したものとし、ひとつ前の演算子と優先順位を比較する。優先順位が低ければ、節作成処理Ｓ２７によりＡＮＤ演算子の節を作成し、作成した節の枝に前の節を設定し、単語による分岐Ｂ２２に戻る。優先順位が高ければ、節作成処理Ｓ２８によりＡＮＤ演算子の節を作成し、最後に設定した枝に置き換え、枝を節の下に移動し、単語による分岐Ｂ２２に戻る。演算子が同じであれば、空の枝を追加し、単語分解処理Ｓ２２に戻る。【００６５】論理式解析装置（４００）は、Ｎ分木に構造化された論理式を検索画面（２００）に返却する。返却する形式はいずれでも構わないが、当該実施例ではＪＳＯＮを利用する。ＪＳＯＮで表現したＮ分木に構造化された論理式の例を［図１５］に示す。【００６６】  検索画面（２００）は返却されたＮ分木に構造化された論理式を画面に表示する。検索画面（２００）は、Ｎ分木に構造化された論理式から整形された論理式を求め、求めた論理式を件数検索装置（５００）に非同期で送信する。件数検索装置（５００）は送信された論理式で検索を行い、該当件数を返却する。検索画面（２００）は、返却された件数をターム表示ラベル（８０５）及び部分式表示ラベル（８０３）に表示する。【００６７】  この論理式を解析し、件数を表示するまでの処理は、部分式文字列及び部分式ツリーの編集を行ったときも同様に行う。また、複数の部分式文字列及び部分式ツリーについて変更がある場合は、変更箇所毎に処理は非同期かつ並列で行う。
【実施例５】
【００６８】  実施例１を元に、タームにフィールド名を指定できるようにした場合の例を示す。【００６９】  検索対象のデータが属性毎のフィールドに区切られて保存されている場合、フィールド名を指定して検索を行うことがで、より正確に検索を行うことができる。【００７０】  図１６は、タームにフィールド名を指定できるようにした、論理式作成補助ダイアログである。ターム入力ボックスの前に、新たにフィールド名入力ボックス（８０６）を設ける。【００７１】  実施例５を実現する装置は、実施例１と同様に、検索画面（２００）を表示するＷＥＢブラウザ（１００）と、検索画面（２００）を保存する画面配信装置（３００）と、論理式を解析するための論理式解析装置（４００）と、論理式の該当件数を求めるための件数検索装置（５００）と、論理式にて検索を行う検索装置（６００）を備える。このうち検索画面（２００）と論理式解析装置（４００）の変更が必要である。【００７２】  利用者は、ＷＥＢブラウザ（１００）を使って、画面配信装置（３００）から検索画面（２００）を取得する。ＷＥＢブラウザは検索画面（２００）を表示する。利用者が検索画面（２００）の検索テキストボックス（７０１）に論理式を入力し、７０２作成補助ボタンを押下すると、検索画面（２００）が持つ論理式送信ロジック（２０１）を使って、検索テキストボックス（７０１）に入力された論理式を論理式解析装置（４００）に非同期で送信する。【００７３】  論理式解析装置（４００）は、二分木に構造化された論理式に変換する。二分木に構造化された論理式とは、二分木の各枝にフィールド名と検索キーワードを持ち、節に論理演算子を持つ二分木である。実施例５における論理式解析装置（４００）の処理は実施例１とほぼ同じだが、各枝が検索キーワードだけでなく、フィールド名を持つ点が違う。実施例１の処理に加え、フィールド名が省略されていた場合はフィールド名の補完を行う。論理式解析装置（４００）は、二分木に構造化された論理式を検索画面（２００）に返却する。返却する形式はいずれでも構わないが、実施例４と同様にＪＳＯＮを利用する。フィールドを指定可能にした論理式のＪＳＯＮ表記の例を図１７に示す。【００７４】  検索画面（２００）は返却された二分木に構造化された論理式を画面に表示する。このとき、フィールド名も検索キーワードの前に区切り文字で区切って表示するようにする。【００７５】  検索画面（２００）は、二分木に構造化された論理式から整形された論理式を求め、求めた論理式を件数検索装置（５００）に非同期で送信する。件数検索装置（５００）は送信された論理式で検索を行い、該当件数を返却する。検索画面（２００）は、返却された件数を全体論理式ラベル（７０７）、ターム表示ラベル（７１４）及び部分式表示ラベル（７１７）に表示する。【００７６】  この論理式を解析し、件数を表示するまでの処理は、部分式文字列及び部分式ツリーの編集を行ったときも同様に行う。また、複数の部分式文字列及び部分式ツリーについて変更がある場合は、変更箇所毎に処理は非同期かつ並列で行う。【００７７】  なお、前記の実施例のうち、いくつか、または全てを組み合わせてシステムを構成することは可能であ���。また、ｗｅｂシステムにおける実施例が主に記載されているが、ｊａｖａによるアプレット、Ｃ言語等によるネイティブアプリケーションにて実施することも可能である。更に通信プロトコルとしてＨＴＴＰのみならず様々なプロトコルを適用することも可能である。
【図面の簡単な説明】
【００７８】
【図１】検索画面のイメージ図
【図２】論理式作成補助ダイアログを表示した検索画面のイメージ図
【図３】ＡＮＤを選択した直後の論理式作成補助ダイアログが表示された検索画面のイメージ図
【図４】ツリーを閉じた論理式作成補助ダイアログのイメージ図
【図５】論理式を編集可能な状態の論理式作成補助ダイアログのイメージ図
【図６】条件を追加した論理式作成補助ダイアログのイメージ図
【図７】本発明を実現するために必要な構成要素のブロック図
【図８】二分木に構造化された論理式の概念図
【図９】ＪＳＯＮで表現した二分木に構造化された論理式の例
【図１０】テキストボックスへの論理式の入力から、件数の表示までのシーケンス
【図１１】論理式保存ボタンを追加した検索画面のイメージ図
【図１２】保存した論理式を挿入ボタンを追加した論理式作成補助ダイアログのイメージ図
【図１３】保存済み論理式一覧表示ペインを表示した論理式作成補助ダイアログのイメージ図
【図１４】部分式保存ボタンを設けた論理式作成補助ダイアログのイメージ図
【図１５】論理式をＮ分木に構造化するようにした場合の、論理式作成補助ダイアログのイメージ図
【図１６】Ｎ分木に構造化された論理式の概念図
【図１７】ＪＳＯＮで表現した二分木に構造化された論理式の例
【図１８】タームにフィールド名を指定できるようにした、論理式作成補助ダイアログのイメージ図
【図１９】フィールドを指定可能にした論理式のＪＳＯＮ表記の例
【図２０−１】論理式を二分木に変換する処理のフローチャート（前半）
【図２０−２】論理式を二分木に変換する処理のフローチャート（後半）
【図２１−１】論理式をＮ分木に変換する処理のフローチャート（前半）
【図２１−２】論理式をＮ分木に変換する処理のフローチャート（後半）
【符号の説明】
【００７９】    １００  ＷＥＢブラウザ
２００  検索画面
３００  画面配信装置
４００  論理式構文解析装置
５００  件数検索装置
６００  検索装置
９００  部分式を保存する装置
【図１】
2014081905.tif 000003
【図２】
2014081905.tif 000004
【図３】
2014081905.tif 000005
【図４】
2014081905.tif 000006
【図５】
2014081905.tif 000007
【図６】
2014081905.tif 000008
【図７】
2014081905.tif 000009
【図８】
2014081905.tif 000010
【図９】
2014081905.tif 000011
【図１０】
2014081905.tif 000012
【図１１】
2014081905.tif 000013
【図１２】
2014081905.tif 000014
【図１３】
2014081905.tif 000015
【図１４】
2014081905.tif 000016
【図１５】
2014081905.tif 000017
【図１６】
2014081905.tif 000018
【図１７】
2014081905.tif 000019
【図１８】
2014081905.tif 000020
【図１９】
2014081905.tif 000021
【図２０−１】
2014081905.tif 000022
【図２０−２】
2014081905.tif 000023
【図２１−１】
2014081905.tif 000024
【図２１−２】
2014081905.tif 000025