(57)【特許請求の範囲】
【請求項１】
検索対象となる複数の施設名をそれぞれ複数のキーワードに区切って、各施設名を各キーワードと前方一致する所定文字数の分割文字列に関連付けて記憶する施設名記憶手段と、
前記所定文字数の分割文字列に関連付けられた各施設名について、互いに異なる１文字から構成されて所定順序を付与された複数の区分文字が所定個数ずつ属する複数の区分別に、各区分に属する区分文字と一致する各キーワードの先頭文字をカウントした区分毎のカウント情報を、該所定文字数の分割文字列に関連付けて記憶するキーワード先頭文字情報記憶手段と、
検索語を入力する入力手段と、
前記キーワード先頭文字情報記憶手段において、前記入力手段を介して入力された各検索語の先頭文字の属する区分に対応するカウント情報に基づいて該各検索語に対応する前記分割文字列を取得する分割文字列取得手段と、
前記施設名記憶手段において、前記分割文字列取得手段を介して取得した前記分割文字列に関連付けて記憶されている施設名から前記入力手段によって入力された各検索語と該各検索語の文字数の多い順、又は、文字数が同じ場合は入力順に設定された検索順で前方一致するキーワードを有する施設名を候補施設名として取得する検索手段と、
を備えたことを特徴とする施設検索装置。
【請求項２】
前記区分毎のカウント情報は、前記所定文字数の分割文字列に関連付けられた各施設名について、前記複数の区分別に、各区分に属する前記区分文字と一致する各キーワードの先頭文字をカウントした最大カウント値であり、
前記分割文字列取得手段は、前記入力手段を介して入力された各検索語の先頭文字の属する区分の前記最大カウント値の全てが、当該各検索語の先頭文字の属する区分毎の該先頭文字のカウント値以上であるカウント情報に関連付けられた前記分割文字列を取得することを特徴とする請求項１に記載の施設検索装置。
【請求項３】
前記区分毎のカウント情報は、前記所定文字数の分割文字列に関連付けられた各施設名について、前記複数の区分別に、各区分に属する前記区分文字と一致する各キーワードの先頭文字をカウントしたカウント値があるか否かを表す有無情報であり、
前記分割文字列取得手段は、前記入力手段を介して入力された各検索語の先頭文字の属する区分毎の前記有無情報が全てカウント値がある旨を表すカウント情報に関連付けられた前記分割文字列を取得することを特徴とする請求項１に記載の施設検索装置。
【請求項４】
前記区分文字は、５０音仮名であって、前記区分は、５０音の行別に区分されていることを特徴とする請求項１乃至請求項３のいずれかに記載の施設検索装置。
【請求項５】
検索対象となる複数の施設名をそれぞれ複数のキーワードに区切って、各施設名を各キーワードと前方一致する所定文字数の分割文字列に関連付けて記憶する施設名記憶手段と、
前記所定文字数の分割文字列に関連付けられた各施設名について、互いに異なる１文字から構成されて所定順序を付与された複数の区分文字が所定個数ずつ属する複数の区分別に、各区分に属する区分文字と一致する各キーワードの先頭文字をカウントした区分毎のカウント情報を、該所定文字数の分割文字列に関連付けて記憶するキーワード先頭文字情報記憶手段と、
を備えたコンピュータに、
検索語を入力する入力工程と、
前記キーワード先頭文字情報記憶手段において、前記入力工程で入力された各検索語の先頭文字の属する区分に対応するカウント情報に基づいて該各検索語に対応する前記分割文字列を取得する分割文字列取得工程と、
前記施設名記憶手段において、前記分割文字列取得工程で取得した前記分割文字列に関連付けて記憶されている施設名から前記入力工程で入力された各検索語と該各検索語の文字数の多い順、又は、文字数が同じ場合は入力順に設定された検索順で前方一致するキーワードを有する施設名を候補施設名として取得する検索工程と、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力された検索語に基づいて施設情報を検索する施設検索装置及びプログラムに関するものである。
【背景技術】
【０００２】
従来より、入力された検索語に基づいて施設情報を検索する技術に関し種々提案されている。
例えば、目的地を表す施設名を単語分割し、分割した単語の順番を入れ替えた全名称を読み順にソートして当該施設名として登録した名称リストを作成しておき、入力された検索語と前方一致する名称を検索して、当該名称に該当する施設名を抽出して、表示手段に候補地点名として表示する車両用ナビゲーション装置がある（例えば、特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平９−９７２６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
前記した特許文献１に記載された車両用ナビゲーション装置によれば、入力された検索語と前方一致する名称を検索することによって該当する施設名を高速で検索することが可能となる。
しかしながら、各施設毎に複数の名称を作成して記憶しておく必要があるため、名称リストのデータ容量が増大するが、メモリ上に施設検索用のアプリケーションプログラムを展開した場合には、名称リストを展開するメモリ容量に限界が生じ、大量のデータから抽出することが難しいという問題がある。
【０００５】
また、文字数の少ない（例えば、１文字又は２文字である。）複数の検索語が入力された場合には、入力された１番目の検索語と前方一致する施設名の数が多くなり、２番目以降の検索語と前方一致する読みが名称中に含まれるか否かを全ての施設名について行う必要が生じるため、検索時間が増大し、応答性能が低下するという問題がある。
【０００６】
そこで、本発明は、上述した問題点を解決するためになされたものであり、名称リストを展開するメモリ容量の増大を抑止することができると共に、文字数の少ない複数の検索語に対して検索を高速で行い、応答性の低下を防止することが可能となる施設検索装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
前記目的を達成するため請求項１に係る施設検索装置は、検索対象となる複数の施設名をそれぞれ複数のキーワードに区切って、各施設名を各キーワードと前方一致する所定文字数の分割文字列に関連付けて記憶する施設名記憶手段と、前記所定文字数の分割文字列に関連付けられた各施設名について、互いに異なる１文字から構成されて所定順序を付与された複数の区分文字が所定個数ずつ属する複数の区分別に、各区分に属する区分文字と一致する各キーワードの先頭文字をカウントした区分毎のカウント情報を、該所定文字数の分割文字列に関連付けて記憶するキーワード先頭文字情報記憶手段と、検索語を入力する入力手段と、前記キーワード先頭文字情報記憶手段において、前記入力手段を介して入力された各検索語の先頭文字の属する区分に対応するカウント情報に基づいて該各検索語に対応する前記分割文字列を取得する分割文字列取得手段と、前記施設名記憶手段において、前記分割文字列取得手段を介して取得した前記分割文字列に関連付けて記憶されている施設名から前記入力手段によって入力された各検索語と該各検索語の文字数の多い順、又は、文字数が同じ場合は入力順に設定された検索順で前方一致するキーワードを有する施設名を候補施設名として取得する検索手段と、を備えたことを特徴とする。
【０００８】
また、請求項２に係る施設検索装置は、請求項１に記載の施設検索装置において、前記区分毎のカウント情報は、前記所定文字数の分割文字列に関連付けられた各施設名について、前記複数の区分別に、各区分に属する前記区分文字と一致する各キーワードの先頭文字をカウントした最大カウント値であり、前記分割文字列取得手段は、前記入力手段を介して入力された各検索語の先頭文字の属する区分の前記最大カウント値の全てが、当該各検索語の先頭文字の属する区分毎の該先頭文字のカウント値以上であるカウント情報に関連付けられた前記分割文字列を取得することを特徴とする。
【０００９】
また、請求項３に係る施設検索装置は、請求項１に記載の施設検索装置において、前記区分毎のカウント情報は、前記所定文字数の分割文字列に関連付けられた各施設名について、前記複数の区分別に、各区分に属する前記区分文字と一致する各キーワードの先頭文字をカウントしたカウント値があるか否かを表す有無情報であり、前記分割文字列取得手段は、前記入力手段を介して入力された各検索語の先頭文字の属する区分毎の前記有無情報が全てカウント値がある旨を表すカウント情報に関連付けられた前記分割文字列を取得することを特徴とする。
【００１０】
また、請求項４に係る施設検索装置は、請求項１乃至請求項３のいずれかに記載の施設検索装置において、前記区分文字は、５０音仮名であって、前記区分は、５０音の行別に区分されていることを特徴とする。ここで、５０音仮名は、平仮名や片仮名を含む。
【００１１】
また、請求項１乃至請求項３のいずれかに記載の施設検索装置において、前記区分文字は、アルファベット、数字、所定の記号（例えば、算術記号や矢印等である。）等でもよい。また、前記区分文字がアルファベットの場合には、前記複数の区分は、アルファベットがアルファベット順に所定個数ずつ属するように区分してもよい。また、前記分割文字列は、所定文字数のアルファベットとするようにしてもよい。
【００１２】
更に、請求項５に係るプログラムは、検索対象となる複数の施設名をそれぞれ複数のキーワードに区切って、各施設名を各キーワードと前方一致する所定文字数の分割文字列に関連付けて記憶する施設名記憶手段と、前記所定文字数の分割文字列に関連付けられた各施設名について、互いに異なる１文字から構成されて所定順序を付与された複数の区分文字が所定個数ずつ属する複数の区分別に、各区分に属する区分文字と一致する各キーワードの先頭文字をカウントした区分毎のカウント情報を、該所定文字数の分割文字列に関連付けて記憶するキーワード先頭文字情報記憶手段と、を備えたコンピュータに、検索語を入力する入力工程と、前記キーワード先頭文字情報記憶手段において、前記入力工程で入力された各検索語の先頭文字の属する区分に対応するカウント情報に基づいて該各検索語に対応する前記分割文字列を取得する分割文字列取得工程と、前記施設名記憶手段において、前記分割文字列取得工程で取得した前記分割文字列に関連付けて記憶されている施設名から前記入力工程で入力された各検索語と該各検索語の文字数の多い順、又は、文字数が同じ場合は入力順に設定された検索順で前方一致するキーワードを有する施設名を候補施設名として取得する検索工程と、を実行させるためのプログラムである。
【発明の効果】
【００１３】
前記構成を有する請求項１に係る施設検索装置では、複数の施設名をそれぞれ複数のキーワードに区切って、各施設名を各キーワードと前方一致する所定文字数の分割文字列に関連付けて施設名記憶手段に記憶している。これにより、各分割文字列に関連付けられた目的地を表す施設名は、１個だけ記憶されるため、重複記憶される施設名を減少させて、名称リストのデータ容量の削減化を図り、名称リストを展開するメモリ容量の増大を抑止することが可能となる。
【００１４】
また、キーワード先頭文字情報記憶手段において、入力された一の検索語と前方一致する分割文字列に関連付けて記憶されている区分毎のカウント情報から、各検索語の先頭文字の属する区分に対応するカウント情報に基づいて該各検索語に対応する分割文字列を取得する。そして、この取得された分割文字列を施設名記憶手段の分割文字列として、該分割文字列に関連付けられた施設名から各検索語と該各検索語の文字数の多い順、又は、文字数が同じ場合は入力順に設定された検索順で前方一致するキーワードを有する施設名を候補施設名として取得する。
【００１５】
これにより、文字数の少ない（例えば、１文字又は２文字である。）複数の検索語が入力されても、各検索語の先頭文字を各キーワードの先頭文字に有する施設名が記憶された分割文字列だけをキーワード先頭文字情報記憶手段から抽出することが可能となる。従って、この抽出された分割文字列に関連付けられて施設名記憶手段に格納された施設名から候補施設名を検索するため、検索対象となる施設名を少なくすることができ、検索を高速で行い、応答性の低下を防止することが可能となる。
【００１６】
また、請求項２に係る施設検索装置では、キーワード先頭文字情報記憶手段において、入力された一の検索語と前方一致する分割文字列から、各検索語の先頭文字の属する区分毎の各最大カウント値の全てが、当該各検索語の先頭文字の属する区分毎の該先頭文字のカウント値以上であるカウント情報に関連付けられた分割文字列を取得する。そして、この取得された分割文字列を施設名記憶手段の分割文字列として、該分割文字列に関連付けられた施設名から検索語と前方一致するキーワードを有する施設名を候補施設名として取得する。
【００１７】
これにより、文字数の少ない（例えば、１文字又は２文字である。）複数の検索語が入力されても、各検索語の先頭文字を各キーワードの先頭文字に有する施設名が関連付けられた分割文字列だけをキーワード先頭文字情報記憶手段から確実に抽出することが可能となる。従って、この抽出された分割文字列に関連付けられて施設名記憶手段に格納された施設名から候補施設名を検索するため、検索対象となる施設名を少なくすることができ、検索を高速で行い、応答性の低下を防止することが可能となる。
【００１８】
また、先頭文字が同じ複数の検索語が入力された場合には、この複数の検索語の先頭文字の属する区分の各最大カウント値が、当該検索語の個数以上のカウント情報に関連付けられた分割文字列だけを取得することが可能となる。これにより、抽出される分割文字列を少なくすることが可能となるため、検索対象となる施設名を更に少なくすることができ、検索を高速で行い、応答性の低下を防止することが可能となる。
【００１９】
また、請求項３に係る施設検索装置では、キーワード先頭文字情報記憶手段において、入力された一の検索語と前方一致する分割文字列から、各検索語の先頭文字の属する区分毎の有無情報が全てカウント値がある旨を表すカウント情報に関連付けられた分割文字列を取得する。そして、この取得された分割文字列を施設名記憶手段の分割文字列として、該分割文字列に関連付けられた施設名から検索語と前方一致するキーワードを有する施設名を候補施設名として取得する。
【００２０】
これにより、文字数の少ない（例えば、１文字又は２文字である。）複数の検索語が入力されても、各検索語の先頭文字を各キーワードの先頭文字に有する施設名が関連付けられた分割文字列だけをキーワード先頭文字情報記憶手段から確実に抽出することが可能となる。従って、この抽出された分割文字列に関連付けられて施設名記憶手段に格納された施設名から候補施設名を検索するため、検索対象となる施設名を少なくすることができ、検索を高速で行い、応答性の低下を防止することが可能となる。
【００２１】
また、請求項４に係る施設検索装置では、キーワード先頭文字情報記憶手段において、５０音の行別に、各行に属する５０音仮名（平仮名又は片仮名である。）と一致する各キーワードの先頭文字をカウントした行毎のカウント情報を、所定文字数の分割文字列に関連付けて記憶する。これにより、所定文字数の分割文字列に関連付けて記憶するカウント情報の区分を１０個に限定して、少なくすることができ、検索語に対応する分割文字列を更に迅速に抽出することが可能となる。
【００２２】
また、請求項５に係るプログラムでは、コンピュータは当該プログラムを読み込むことによって、キーワード先頭文字情報記憶手段において、入力された一の検索語と前方一致する分割文字列に関連付けて記憶されている区分毎のカウント情報から、各検索語の先頭文字の属する区分に対応するカウント情報に基づいて該各検索語に対応する分割文字列を取得する。そして、コンピュータは、この取得した分割文字列を施設名記憶手段の分割文字列として、該分割文字列に関連付けられた施設名から各検索語と該各検索語の文字数の多い順、又は、文字数が同じ場合は入力順に設定された検索順で前方一致するキーワードを有する施設名を候補施設名として取得する。
【００２３】
これにより、コンピュータは文字数の少ない（例えば、１文字又は２文字である。）複数の検索語が入力されても、各検索語の先頭文字を各キーワードの先頭文字に有する施設名が記憶された分割文字列だけをキーワード先頭文字情報記憶手段から抽出することが可能となる。従って、コンピュータは、この抽出した分割文字列に関連付けられて施設名記憶手段に格納された施設名から候補施設名を検索するため、検索対象となる施設名を少なくすることができ、検索を高速で行い、応答性の低下を防止することが可能となる。
【図面の簡単な説明】
【００２４】
【図１】実施例１に係るナビゲーション装置を示したブロック図である。
【図２】施設名ＤＢに格納された施設名データテーブルの一例を示す図である。
【図３】施設名ＤＢに格納された先頭文字情報データテーブルの一例を示す図である。
【図４】入力された検索語に基づいて施設情報を検索してリスト表示する「施設情報表示処理」を示すフローチャートである。
【図５】図３の「候補施設名抽出処理」のサブ処理を示すサブフローチャートである。
【図６】検索語を入力する検索語入力画面の一例を示す図である。
【図７】抽出した施設名をリスト表示した検索結果表示画面の一例を示す図である。
【図８】実施例２に係る施設名ＤＢに格納された先頭文字情報データテーブルの一例を示す図である。
【図９】実施例３に係る施設名ＤＢに格納された先頭文字情報データテーブルの一例を示す図である。
【図１０】実施例４に係る施設名ＤＢに格納された施設名データテーブルの一例を示す図である。
【図１１】実施例４に係る施設名ＤＢに格納された先頭文字情報データテーブルの一例を示す図である。
【図１２】実施例５に係る施設名ＤＢに格納された先頭文字情報データテーブルの一例を示す図である。
【図１３】実施例６に係る施設名ＤＢに格納された先頭文字情報データテーブルの一例を示す図である。
【発明を実施するための形態】
【００２５】
以下、本発明に係る施設検索装置及びプログラムをナビゲーション装置について具体化した実施例１乃至実施例６に基づき図面を参照しつつ詳細に説明する。
【実施例１】
【００２６】
［ナビゲーション装置の概略構成］
先ず、実施例１に係るナビゲーション装置の概略構成について図１に基づいて説明する。図１は実施例１に係るナビゲーション装置１を示したブロック図である。
図１に示すように、実施例１に係るナビゲーション装置１は、自車の現在位置（以下、「自車位置」という。）等を検出する現在地検出処理部１１と、各種のデータが記録されたデータ記録部１２と、入力された情報に基づいて、各種の演算処理を行うナビゲーション制御部１３と、操作者からの操作を受け付ける操作部１４と、操作者に対して地図等の情報を表示する液晶ディスプレイ１５と、経路案内等に関する音声ガイダンスを出力するスピーカ１６と、不図示の道路交通情報センタや地図情報配信センタ等との間で携帯電話網等を介して通信を行う通信装置１７と、液晶ディスプレイ１５の表面に装着されたタッチパネル１８とから構成されている。また、ナビゲーション制御部１３には自車の走行速度を検出する車速センサ２１が接続されている。
【００２７】
以下に、ナビゲーション装置１を構成する各構成要素について説明すると、現在地検出処理部１１は、ＧＰＳ３１、方位センサ３２、距離センサ３３等からなり、自車位置、自車の向きを表す自車方位、走行距離等を検出することが可能となっている。
【００２８】
また、データ記録部１２は、外部記憶装置及び記録媒体としてのハードディスク（図示せず）と、ハードディスクに記憶された地図情報データベース（地図情報ＤＢ）２５、施設名データベース（施設名ＤＢ）２７及び所定のプログラム等を読み出すとともにハードディスクに所定のデータを書き込む為のドライバを備えている。
【００２９】
また、地図情報ＤＢ２５には、ナビゲーション装置１の走行案内や経路探索に使用されるナビ地図情報２６が格納されている。ここで、ナビ地図情報２６には、経路案内及び地図表示に必要な各種情報から構成されており、例えば、各新設道路を特定するための新設道路情報、地図を表示するための地図表示データ、各交差点に関する交差点データ、ノード点に関するノードデータ、施設の一種である道路（リンク）に関するリンクデータ、経路を探索するための探索データ、施設の一種である店舗等のＰＯＩ（Point of Interest）に関する店舗データ、地点を検索するための検索データ等から構成されている。
【００３０】
尚、店舗データには、各地域のホテル、病院、ガソリンスタンド、駐車場、駅、空港、フェリー乗り場等のＰＯＩに関する名称や住所、電話番号等に加えて、後述の検索結果表示画面７１（図７参照）にリスト表示する表示優先度のデータをＰＯＩを特定するＩＤとともに記憶するようにしてもよい。例えば、表示優先度は、「８８」や「２５６」等の数値で表され、数値の大きいものほど優先度が高くなる。また、地図情報ＤＢ２５の内容は、不図示の地図情報配信センタから通信装置１７を介して配信された更新情報をダウンロードすることによって更新される。
【００３１】
また、施設名ＤＢ２７には、後述の施設名及び該施設名の読みを所定文字数（実施例１では、１文字又は２文字である。）の分割文字列に関連付けて分割単位毎に記憶する施設名データテーブル５１（図２参照）が格納されている。また、施設名ＤＢ２７には、後述の施設名の読みを構成する各キーワードの先頭文字が属する５０音の行を表す「キーワードの先頭文字情報」を所定文字数（実施例１では、１文字又は２文字である。）の分割文字列に関連付けて分割単位毎に記憶する先頭文字情報データテーブル５２（図３参照）が格納されている。
【００３２】
また、図１に示すように、ナビゲーション装置１を構成するナビゲーション制御部１３は、ナビゲーション装置１の全体の制御を行う演算装置及び制御装置としてのＣＰＵ４１、並びにＣＰＵ４１が各種の演算処理を行うに当たってワーキングメモリとして使用されるとともに、経路が探索されたときの経路データ等が記憶されるＲＡＭ４２、制御用のプログラム等が記憶されたＲＯＭ４３、ＲＯＭ４３から読み出したプログラムを記憶するフラッシュメモリ４４等の内部記憶装置や、時間を計測するタイマ４５等を備えている。
【００３３】
また、ＲＯＭ４３には、後述の５０音キー６２から入力された検索語に基づいて地点情報を検索してリスト表示する施設情報表示処理のプログラム（図３参照）等が記憶されている。
更に、前記ナビゲーション制御部１３には、操作部１４、液晶ディスプレイ１５、スピーカ１６、通信装置１７、タッチパネル１８の各周辺装置（アクチュエータ）が電気的に接続されている。
【００３４】
この操作部１４は、走行開始時の現在地を修正し、案内開始地点としての出発地及び案内終了地点としての目的地を入力する際や施設に関する情報の検索を行う場合等に操作され、各種のキーや複数の操作スイッチから構成される。そして、ナビゲーション制御部１３は、各スイッチの押下等により出力されるスイッチ信号に基づき、対応する各種の動作を実行すべく制御を行う。
【００３５】
また、液晶ディスプレイ１５には、現在走行中の地図情報、後述の検索語入力画面６１（図６参照）、検索した施設の名称をリスト表示する検索結果表示画面７１、操作案内、操作メニュー、キーの案内、現在地から目的地までの推奨経路、推奨経路に沿った案内情報、交通情報、ニュース、天気予報、時刻、メール、テレビ番組等が表示される。
【００３６】
また、スピーカ１６は、ナビゲーション制御部１３からの指示に基づいて、推奨経路に沿った走行を案内する音声ガイダンス等を出力する。ここで、案内される音声ガイダンスとしては、例えば、「２００ｍ先、○○交差点を右方向です。」等がある。
【００３７】
また、通信装置１７は、地図情報配信センタと通信を行う携帯電話網等による通信手段であり、地図情報配信センタとの間で最もバージョンの新しい更新地図情報等の送受信を行う。また、通信装置１７は地図情報配信センタに加えて、道路交通情報センタ等から送信された渋滞情報やサービスエリアの混雑状況等の各情報から成る交通情報を受信する。
【００３８】
また、タッチパネル１８は、液晶ディスプレイ１５の表面部に装着された透明なパネル状のタッチスイッチであり、液晶ディスプレイ１５の画面に表示されたボタンや地図上を押下することによって各種指示コマンドを入力することが可能に構成されている。尚、タッチパネル１８は、液晶ディスプレイ１５の画面を直接押下する光センサ液晶方式等で構成してもよい。
【００３９】
ここで、施設名ＤＢ２７に格納される施設名データテーブル５１について図２に基づいて説明する。
図２に示すように、施設名データテーブル５１は、「分割単位」と、施設名の読みを記憶する「読み」と、「施設名」とから構成されている。この「分割単位」には、施設名の読みを構成するキーワードと前方一致する平仮名が、５０音順に１文字又は２文字ずつ記憶されている。ここで、キーワードは、意味を成す単位で構成された読みの文字列である。
【００４０】
尚、「分割単位」には、例えば、「あああ」、「ああい」、「ああう」・・・等、５０音順に３文字以上ずつ記憶するようにしてもよい。また、「分割単位」の一部区間だけ、例えば、・・・「お」、「かあ」、「かい」、・・・「かん」、「き」、「く」・・等、５０音順に２文字以上ずつ記憶するようにしてもよい。
【００４１】
また、「読み」には、各「分割単位」に記憶される平仮名と前方一致するキーワードを含む施設名の読みが記憶されている。また、施設名の読みは、キーワード毎に区切り文字（例えば「／」である。）で区切られて記憶されている。また、施設名の読みは、分割単位に記憶されている平仮名と前方一致するキーワードが先頭になるように、各キーワードの順序が当該施設名の読みの順番に従って循環するように並べ替えられて記憶されている。
【００４２】
例えば、施設名の読みが「せいと／どーむ」では、「せいと」、「どーむ」が、施設名の読みのキーワードとして「読み」に記憶されている。また、施設名の読みの「せいと／どーむ」は、施設名データテーブル５１の「分割単位」の各平仮名「せい」、「とお」に対応する「読み」にそれぞれ記憶される。
【００４３】
尚、施設名の読みに含まれる「が」、「ぱ」等の濁音・半濁音は「か」、「は」等の清音に、「ゃ」、「っ」等の小文字仮名（拗音・促音）は「や」、「つ」等の大文字仮名に、長音は対応する母音等のように、仮名の基本文字に変換して記憶される。例えば、「せいと／どーむ」は、実際には「せいと／とおむ」と記憶されるが、本実施形態においては説明を簡単にするために施設名と読みとを一致させ「せいと／どーむ」として説明する。
【００４４】
そして、平仮名「せい」が記憶されている「分割単位」に対応する施設名の「読み」には、キーワード「せいと」が先頭になるように「せいと／どーむ」が記憶されている。また、平仮名「とお」が記憶されている「分割単位」に対応する施設名の「読み」には、キーワード「どーむ」が先頭になるように「どーむ／せいと」が記憶されている。
【００４５】
また、「施設名」には、検索対象となる目的地を表す施設名が、「読み」に記憶された施設名の読みに対応して記憶されている。例えば、施設名「西都ドーム」が、施設名の読みの「せいと／どーむ」に対応して記憶されている。従って、施設名「西都ドーム」は、施設名データテーブル５１の「分割単位」の各平仮名「せい」、「とお」内の「読み」の「せいと／どーむ」、「どーむ／せいと」のそれぞれに対応する「施設名」に記憶されている。
【００４６】
これにより、施設名データテーブル５１の「分割単位」間では「施設名」に記憶された施設名の重複はあるが、各「分割単位」内においては、「施設名」に記憶された施設名の重複は無く、１つの施設名だけが記憶されている。従って、施設名データテーブル５１の「分割単位」間では「読み」に記憶された施設名の読みの重複はあるが、各「分割単位」内においては、「読み」に記憶された施設名の読みの重複は無く、１つの施設名の読みだけが記憶されている。また、各「分割単位」毎の「読み」と「施設名」との合計データ容量を所定データ容量以下（例えば、１メガバイト〜１０メガバイト以下である。）に設定することが可能となる。
【００４７】
次に、施設名ＤＢ２７に格納される先頭文字情報データテーブル５２について図３に基づいて説明する。
図３に示すように、先頭文字情報データテーブル５２は、「分割単位」と、「キーワードの先頭文字情報」と、「読み」とから構成されている。また、「キーワードの先頭文字情報」は、「あ行」〜「わ行」の５０音の行別に区分されている。
【００４８】
この「分割単位」は、施設名データテーブル５１の「分割単位」に対応するものであり、施設名の読みを構成するキーワードと前方一致する平仮名が、５０音順に１文字又は２文字ずつ記憶されている。従って、上記施設名データテーブル５１の「分割単位」に、例えば、「あ」、「ああ」、「あい」、・・・等と１文字又は２文字の平仮名を記憶した場合には、先頭文字情報データテーブル５２も同様に、「分割単位」に「あ」、「ああ」、「あい」、・・・等と１文字又は２文字の平仮名を記憶する。
【００４９】
また、各「分割単位」に対応する「読み」には、施設名データテーブル５１の各「分割単位」内の「読み」に記憶された施設名の読みがそれぞれ格納されている。例えば、平仮名「せい」が記憶された「分割単位」に対応する「読み」には、施設名データテーブル５１の平仮名「せい」が記憶された「分割単位」内の「読み」に記憶されている施設名の読み「せいと／どーむ」、「せいと／ひゃっかてん」、「せいげん／そめや」、「せいとか／としょかん」が、区切り文字「；」で区切られて記憶されている。
【００５０】
また、各「分割単位」に対応する「キーワードの先頭文字情報」には、同じ「分割単位」に対応する「読み」に記憶された各施設名の読み毎に、各キーワードの先頭文字が属する５０音の行を行別にカウントし、各５０音の行別のカウント値のうちの各施設名の読みの間の最大カウント値をそれぞれ抽出して、「キーワードの先頭文字情報」の「あ行」〜「わ行」の５０音の行別に区分して記憶されている。
【００５１】
例えば、図３に示すように、平仮名「せい」が記憶された「分割単位」に対応する「キーワードの先頭文字情報」には、施設名の読み「せいげん／そめや」の各キーワード「せいげん」、「そめや」の先頭文字が属する「さ行」のカウント値「２」が、各キーワードの先頭文字が属する５０音の行を行別にカウントした最大カウント値として記憶されている。
【００５２】
また同様に、平仮名「せい」が記憶された「分割単位」に対応する「キーワードの先頭文字情報」には、各施設名の読み「せいと／どーむ」、「せいとか／としょかん」の各キーワード「どーむ」、「としょかん」の先頭文字が属する「た行」の各カウント値「１」が、各キーワードの先頭文字が属する５０音の行を行別にカウントした最大カウント値として記憶されている。
【００５３】
また同様に、平仮名「せい」が記憶された「分割単位」に対応する「キーワードの先頭文字情報」には、施設名の読み「せいと／ひゃっかてん」のキーワード「ひゃっかてん」の先頭文字が属する「は行」のカウント値「１」が、各キーワードの先頭文字が属する５０音の行を行別にカウントした最大カウント値として記憶されている。また、平仮名「せい」が記憶された「分割単位」に対応する「キーワードの先頭文字情報」の「あ行」、「か行」、「な行」、「ま行」〜「わ行」には、施設名の読みの各キーワードの先頭文字が属していない旨を表す「０」が記憶されている。
【００５４】
従って、先頭文字情報データテーブル５２の各「分割単位」に対応する「キーワードの先頭文字情報」の「あ行」〜「わ行」の５０音の行別に区分して記憶されたカウント値によって、各「分割単位」内に記憶されている施設名の読みの各キーワードの先頭文字が属する５０音の行の有・無を判別することが可能となる。
【００５５】
［施設情報表示処理］
次に、上記のように構成されたナビゲーション装置１のＣＰＵ４１が実行する処理であって、５０音キー６２から入力された検索語に基づいて施設情報を検索してリスト表示する「施設情報表示処理」について図４乃至図７に基づいて説明する。
【００５６】
図４はＣＰＵ４１が実行する処理であって、入力された検索語に基づいて施設情報を検索してリスト表示する「施設情報表示処理」を示すフローチャートである。尚、図４にフローチャートで示されるプログラムは、操作部１４の不図示の目的地設定ボタンが押下された場合に、ＣＰＵ４１により実行される。
【００５７】
図４に示すように、先ず、ステップ（以下、Ｓと略記する）１１において、ＣＰＵ４１は、液晶ディスプレイ１５の画面に、施設情報として目的地の住所や施設に関する名称等を検索するための検索語を入力する検索語入力画面６１を表示する。
ここで、検索語入力画面６１の一例について図６に基づいて説明する。図６に示すように、検索語入力画面６１には、５０音キー６２、入力文字表示部６３、検索語表示部６４、修正ボタン６５、戻るボタン６６、次ワードボタン６７、完了ボタン６８、件数表示部６９が表示される。
【００５８】
この入力文字表示部６３には、５０音キー６２によって入力された入力文字が表示される。そして、次ワードボタン６７が押下された場合には、入力文字表示部６３に表示されている文字列が検索語として検索語表示部６４に確定表示されるとともに、次の文字列を入力することが可能となる。また、修正ボタン６５を押下する毎に、入力文字表示部６３に表示されている文字列の最終入力文字を１文字ずつ削除することができる。
【００５９】
また、戻るボタン６６を押下することによって、検索語入力画面６１の前の画面に戻ることができる。更に、完了ボタン６８を押下することによって、検索語表示部６４に表示されている各文字列と入力文字表示部６３に表示されている文字列を検索語として、施設情報としての施設に関する名称等を検索してリスト表示するように指示することができる。また、件数表示部６９には、入力文字表示部６３に表示されている文字列と検索語表示部６４に表示されている各文字列によって検索された施設名の件数が表示される。
【００６０】
続いて、図４に示すように、Ｓ１２において、ＣＰＵ４１は、５０音キー６２が押下されたか否か、つまり、５０音キー６２から検索語が入力されたか否かを判定する判定処理を実行する。そして、５０音キー６２が押下されたと判定した場合には（Ｓ１２：ＹＥＳ）、ＣＰＵ４１は、５０音キー６２から入力された入力文字を入力文字表示部６３に表示すると共に、入力文字表示部６３に表示している文字列を検索語としてＲＡＭ４２に記憶後、Ｓ１３の処理に移行する。
【００６１】
Ｓ１３において、ＣＰＵ４１は、検索語表示部６４に表示されている各文字列と入力文字表示部６３に表示されている文字列を検索語として、施設名データテーブル５１に記憶された施設名から目的地候補である候補施設名を抽出する後述の「候補施設名抽出処理」のサブ処理（図５参照）を実行後、再度、Ｓ１２以降の処理を実行する。
【００６２】
一方、５０音キー６２が押下されていないと判定した場合には（Ｓ１２：ＮＯ）、ＣＰＵ４１は、Ｓ１４の処理に移行する。Ｓ１４において、ＣＰＵ４１は、次ワードボタン６７が押下されたか否かを判定する判定処理を実行する。そして、次ワードボタン６７が押下されたと判定した場合には（Ｓ１４：ＹＥＳ）、ＣＰＵ４１は、Ｓ１５の処理に移行する。
【００６３】
Ｓ１５において、ＣＰＵ４１は、入力文字表示部６３に表示されている文字列を検索語として検索語表示部６４に確定表示すると共に、この文字列を確定検索語としてＲＡＭ４２に時系列的に記憶する。また、ＣＰＵ４１は、入力文字表示部６３に表示されている文字列をクリアして、５０音キー６２から新たな文字列を入力できるように設定した後、再度、Ｓ１２以降の処理を実行する。
【００６４】
一方、次ワードボタン６７が押下されていないと判定した場合には（Ｓ１４：ＮＯ）、ＣＰＵ４１は、Ｓ１６の処理に移行する。Ｓ１６において、ＣＰＵ４１は、完了ボタン６８が押下されたか否かを判定する判定処理を実行する。そして、完了ボタン６８が押下されていないと判定した場合には（Ｓ１６：ＮＯ）、ＣＰＵ４１は、Ｓ１７の処理に移行する。
【００６５】
Ｓ１７において、ＣＰＵ４１は、修正ボタン６５又は戻るボタン６６が押下されたか否かを判定する判定処理を実行する。そして、修正ボタン６５が押下されたと判定した場合には、ＣＰＵ４１は、入力文字表示部６３に表示されている文字列の最終入力文字を１文字削除した後、再度、Ｓ１２以降の処理を実行する。
【００６６】
また、戻るボタン６６が押下されたと判定した場合には、ＣＰＵ４１は、図３に示す当該処理を終了し、検索語入力画面６１の前の画面に戻る。更に、修正ボタン６５及び戻るボタン６６が押下されなかった場合には、ＣＰＵ４１は、再度、Ｓ１２以降の処理を実行する。
【００６７】
一方、完了ボタン６８が押下されたと判定した場合には（Ｓ１６：ＹＥＳ）、ＣＰＵ４１は、Ｓ１８の処理に移行する。Ｓ１８において、ＣＰＵ４１は、上記Ｓ１３で抽出された全候補施設名をリスト表示後（図７参照）、当該処理を終了する。
【００６８】
［候補施設名抽出処理］
次に、上記Ｓ１３で実行する「候補施設名抽出処理」のサブ処理について図５に基づいて説明する。
図５に示すように、Ｓ１１１において、ＣＰＵ４１は、入力文字表示部６３に表示されている検索語と各検索語表示部６４に表示されている確定検索語とをＲＡＭ４２から読み出す。
【００６９】
そして、Ｓ１１２において、ＣＰＵ４１は、このＲＡＭ４２から読み出した各検索語の包含関係に従って検索語の検索順を設定し、この検索順に検索語をＲＡＭ４２に記憶する。
【００７０】
具体的には、ＣＰＵ４１は、ＲＡＭ４２から読み出した各検索語の文字数の多い順に検索語の検索順を設定し、この検索順に検索語をＲＡＭ４２に記憶する。また、ＣＰＵ４１は、ＲＡＭ４２から読み出した各検索語の文字数が同じ場合には、時系列的に早くＲＡＭ４２に記憶した順に検索語の検索順を設定し、この検索順に検索語をＲＡＭ４２に記憶する。
【００７１】
例えば、ＣＰＵ４１は、ＲＡＭ４２から読み出した各検索語が、図６に示すように、「せ」、「と」の場合には、検索語「せ」の検索順を１番目に設定し、検索語「と」の検索順を２番目に設定する。そして、ＣＰＵ４１は、この検索順に各検索語「せ」、「と」をＲＡＭ４２に記憶する。
【００７２】
続いて、Ｓ１１３において、ＣＰＵ４１は、先頭文字情報データテーブル５２の１番目の「分割単位」に記憶されている平仮名を読み出す。そして、ＣＰＵ４１は、当該「分割単位」に記憶されている平仮名が、検索順が１番目の検索語と前方一致するか否かを判定する判定処理を実行する。
【００７３】
そして、当該「分割単位」に記憶されている平仮名が、検索順が１番目の検索語と前方一致しないと判定した場合には（Ｓ１１３：ＮＯ）、ＣＰＵ４１は、先頭文字情報データテーブル５２に次の「分割単位」が記憶されているか否かを判定する判定処理を実行する。そして、先頭文字情報データテーブル５２に次の「分割単位」が記憶されていると判定した場合には、ＣＰＵ４１は、先頭文字情報データテーブル５２の次の「分割単位」に記憶されている平仮名を読み出し、再度、Ｓ１１３以降のループを実行する。一方、先頭文字情報データテーブル５２に次の「分割単位」が記憶されていないと判定した場合には、ＣＰＵ４１は、ループを終了してＳ１１６の処理に移行する。
【００７４】
一方、Ｓ１１３で当該「分割単位」に記憶されている平仮名が、検索順が１番目の検索語と前方一致すると判定した場合には（Ｓ１１３：ＹＥＳ）、ＣＰＵ４１は、Ｓ１１４の処理に移行する。Ｓ１１４において、ＣＰＵ４１は、全検索語をＲＡＭ４２から読み出し、全検索語の各先頭文字の属する５０音の行を行別にカウントする。
【００７５】
そして、ＣＰＵ４１は、当該「分割単位」の「キーワードの先頭文字情報」の全検索語の各先頭文字の属する５０音の行の区分に記憶されている各カウント値が、全検索語の各先頭文字の属する５０音の行の行別のカウント値以上か否かを判定する判定処理を実行する。つまり、全検索語の各先頭文字の属する５０音の行に、各キーワードの先頭文字が属する施設名の読みが、当該「分割単位」に対応する施設名データテーブル５１の「分割単位」内の「読み」に記憶されているか否かを判定する判定処理を実行する。
【００７６】
そして、当該「分割単位」の「キーワードの先頭文字情報」の全検索語の各先頭文字の属する５０音の行の区分に記憶されているカウント値が、全検索語の各先頭文字の属する５０音の行の行別のカウント値より少ない５０音の行の区分やカウント値が「０」の５０音の行の区分が１つでもあると判定した場合には（Ｓ１１４：ＮＯ）、ＣＰＵ４１は、先頭文字情報データテーブル５２に次の「分割単位」が記憶されているか否かを判定する判定処理を実行する。
【００７７】
そして、先頭文字情報データテーブル５２に次の「分割単位」が記憶されていると判定した場合には、ＣＰＵ４１は、先頭文字情報データテーブル５２の次の「分割単位」に記憶されている平仮名を読み出し、再度、Ｓ１１３以降のループを実行する。一方、先頭文字情報データテーブル５２に次の「分割単位」が記憶されていないと判定した場合には、ＣＰＵ４１は、ループを終了してＳ１１６の処理に移行する。
【００７８】
一方、Ｓ１１４で当該「分割単位」の「キーワードの先頭文字情報」の全検索語の各先頭文字の属する５０音の行の区分に記憶されているカウント値が、全検索語の各先頭文字の属する５０音の行の行別のカウント値以上であると判定した場合には（Ｓ１１４：ＹＥＳ）、ＣＰＵ４１は、Ｓ１１５の処理に移行する。Ｓ１１５において、ＣＰＵ４１は、当該「分割単位」を施設名データテーブル５１の候補施設名を検索する該当「分割単位」としてＲＡＭ４２に記憶する。
【００７９】
続いて、ＣＰＵ４１は、先頭文字情報データテーブル５２に次の「分割単位」が記憶されているか否かを判定する判定処理を実行する。そして、先頭文字情報データテーブル５２に次の「分割単位」が記憶されていると判定した場合には、ＣＰＵ４１は、先頭文字情報データテーブル５２の次の「分割単位」に記憶されている平仮名を読み出し、再度、Ｓ１１３以降のループを実行する。一方、先頭文字情報データテーブル５２に次の「分割単位」が記憶されていないと判定した場合には、ＣＰＵ４１は、ループを終了してＳ１１６の処理に移行する。
【００８０】
例えば、図３に示すように、上記Ｓ１１２で１番目の検索順に設定された検索語が「せ」で、２番目の検索順に設定された検索語が「と」の場合には、ＣＰＵ４１は、当該検索語の先頭文字「せ」と前方一致する各平仮名「せ」、「せあ」、「せい」、「せう」、・・・「せん」が記憶された各「分割単位」について、Ｓ１１４の処理を実行する。
【００８１】
そして、ＣＰＵ４１は、「キーワードの先頭文字情報」の全検索語「せ」、「と」の各先頭文字「せ」、「と」の属する５０音の「さ行」、「た行」の区分に記憶されている各カウント値が、「１」以上である各平仮名「せい」、「せん」が記憶された「分割単位」を施設名データテーブル５１の候補施設名を検索する該当「分割単位」としてＲＡＭ４２に記憶する。
【００８２】
そして、図５に示すように、Ｓ１１６において、ＣＰＵ４１は、ＲＡＭ４２から上記Ｓ１１５で記憶した施設名データテーブル５１の候補施設名を検索する該当「分割単位」を順番に読み出し、施設名データテーブル５１の該当「分割単位」内の全施設名の「読み」を順番にそれぞれ読み出す。そして、ＣＰＵ４１は、この読み出した各施設名の読みを構成するキーワードの中に、上記Ｓ１１２で検索順を設定した各検索語と前方一致するキーワードがあるか否かを判定する判定処理を実行する、つまり、読み出した全施設名の「読み」について各検索語の全文検索を行う。
【００８３】
そして、ＣＰＵ４１は、読み出した施設名の読みを構成するキーワードの中に各検索語と前方一致するキーワードがある場合には、この施設名の読みに対応する「施設名」を施設名データテーブル５１から読み出し、目的地候補である候補施設名としてＲＡＭ４２に順番に記憶後、Ｓ１１７の処理に移行する。
【００８４】
尚、ＣＰＵ４１は、検索語と前方一致する施設名の読みのキーワードが、この検索語よりも短い文字列の場合には、更に、検索語のキーワードと一致していない残りの文字列と前方一致するキーワードが、当該施設名の読みを構成するキーワードの中にあるか否かを判定する判定処理を実行する。
【００８５】
そして、ＣＰＵ４１は、検索語のキーワードと一致していない残りの文字列と前方一致するキーワードが、当該施設名の読みを構成するキーワードの中にある場合には、この施設名の読みに対応する「施設名」を施設名データテーブル５１から読み出し、目的地候補である候補施設名としてＲＡＭ４２に記憶する。
【００８６】
例えば、各平仮名「せい」、「せん」が記憶された「分割単位」を施設名データテーブル５１の候補施設名を検索する該当「分割単位」としてＲＡＭ４２に記憶した場合には、ＣＰＵ４１は、施設名データテーブル５１の各平仮名「せい」、「せん」が記憶された「分割単位」内の全施設名の「読み」を順番にそれぞれ読み出す。
【００８７】
そして、図２に示すように、ＣＰＵ４１は、この読み出した各施設名の読みを構成するキーワードの中に、各検索語「せ」、「と」と前方一致するキーワードがある各施設名の読み「せいと／どーむ」、「せいとか／としょかん」、「せんけ／とけい」に対応する各施設名「西都ドーム」、「西都科図書館」、「千家時計」を施設名データテーブル５１から読み出し、目的地候補である候補施設名としてＲＡＭ４２に順番に記憶する。
【００８８】
続いて、図５に示すように、Ｓ１１７において、ＣＰＵ４１は、候補施設名をＲＡＭ４２から順番に読み出してカウントし、入力された検索語によって検索可能な候補施設名の件数としてＲＡＭ４２に記憶する。例えば、候補施設名が各施設名「西都ドーム」、「西都科図書館」、「千家時計」の場合には、件数として「３件」をＲＡＭ４２に記憶する。
【００８９】
尚、検索語に含まれる濁音、半濁音、拗音、促音、長音等の特殊文字はそれぞれ基本文字に変換して処理される。例えば、「とうきょう」は「とうきよう」、「らんど」は「らんと」として検索される。前述したように、施設名データテーブル５１に記憶されている施設名の読みに含まれる特殊文字も基本文字に変換して記憶されているため、結果的には特殊文字を無視した検索を行うことになる。
【００９０】
そして、Ｓ１１８において、ＣＰＵ４１は、ＲＡＭ４２から件数を読み出し、検索語入力画面６１の件数表示部６９に表示後、当該サブ処理を終了してメインフローチャートに戻り、Ｓ１２以降の処理を実行する。例えば、ＲＡＭ４２から読み出した件数が「３件」の場合には、図６に示すように、件数表示部６９に「３件」と表示後、当該サブ処理を終了してメインフローチャートに戻り、Ｓ１２以降の処理を実行する。
【００９１】
ここで、図６に示すように、５０音キー６２から各検索語「せ」、「と」を入力して、完了ボタン６８を押下した場合の、抽出した施設名をリスト表示した検索結果表示画面７１の一例を図７に基づいて説明する。尚、各検索語「せ」、「と」によって、候補施設名として各施設名「西都ドーム」、「西都科図書館」、「千家時計」が抽出されているとする。
【００９２】
図７に示すように、ＰＵ４１は、液晶ディスプレイ１５に検索結果表示画面７１を表示し、候補施設名として各施設名「西都ドーム」、「西都科図書館」、「千家時計」をＲＡＭ４２から読み出し、一番上の検索結果表示欄７２から順番に表示する。また、ＣＰＵ４１は、件数「３件」をＲＡＭ４２から読み出し、検索結果表示画面７１の上部に設けられた件数表示部７３に表示する。
【００９３】
ここで、ユーザが、各検索結果表示欄７２の施設情報を押下して選択すると、ＣＰＵ４１は、当該施設を目的地に設定して経路探索を行い、推奨経路を地図上に表示する。また、当該施設に関する施設情報（例えば、営業時間、料金等である。）を表示する。
また、各検索結果表示欄７２の左側には、検索結果表示欄７２の施設の名称を１件ずつスクロールダウン、スクロールアップするための前ボタン７４、次ボタン７５と、検索結果表示欄７２の施設の名称を５件ずつスクロールダウン、スクロールアップするための各頁ボタン７６、７７とが表示されている。
【００９４】
以上詳細に説明した通り、実施例１に係るナビゲーション装置１では、ＣＰＵ４１は、先頭文字情報データテーブル５２の各「分割単位」のうち、検索順が１番目の検索語と前方一致する平仮名が記憶された「分割単位」を抽出する。そして、ＣＰＵ４１は、この抽出した各「分割単位」のうち、各「分割単位」の「キーワードの先頭文字情報」の全検索語の各先頭文字の属する５０音の行の区分に記憶されているカウント値が、全検索語の各先頭文字の属する５０音の行の行別のカウント値以上のものだけを、施設名データテーブル５１の候補施設名を検索する該当「分割単位」としてＲＡＭ４２に記憶する。
【００９５】
続いて、ＣＰＵ４１は、施設名データテーブル５１の候補施設名を検索する該当「分割単位」を順番に読み出し、施設名データテーブル５１の該当「分割単位」内の全施設名の「読み」を順番にそれぞれ読み出す。そして、ＣＰＵ４１は、読み出した全施設名の「読み」について各検索語の全文検索を行い、読み出した施設名の読みを構成するキーワードの中に各検索語と前方一致するキーワードがある場合には、この施設名の読みに対応する「施設名」を施設名データテーブル５１から読み出し、目的地候補である候補施設名としてＲＡＭ４２に記憶する。
【００９６】
これにより、文字数の少ない（例えば、１文字又は２文字である。）複数の検索語が入力されても、ＣＰＵ４１は、検索順が１番目の検索語と前方一致する平仮名が記憶された「分割単位」のうち、全検索語の先頭文字を各キーワードの先頭文字に有する施設名が記憶された「分割単位」だけを先頭文字情報データテーブル５２から抽出することが可能となる。従って、ＣＰＵ４１は、全検索語の先頭文字を各キーワードの先頭文字に有する施設名が記憶された「分割単位」だけを先頭文字情報データテーブル５２から抽出して、施設名データテーブル５１の該当「分割単位」内の全施設名の「読み」を順番にそれぞれ読み出して全検索語について全文検索を行うため、検索対象となる施設名の読みを少なくすることができ、検索を高速で行い、応答性の低下を防止することが可能となる。
【００９７】
また、施設名データテーブル５１の「分割単位」間では「施設名」に記憶された施設名の重複はあるが、各「分割単位」内においては、「施設名」に記憶された施設名の重複は無く、１つの施設名だけが記憶されている。従って、施設名データテーブル５１の「分割単位」間では「読み」に記憶された施設名の読みの重複はあるが、各「分割単位」内においては、「読み」に記憶された施設名の読みの重複は無く、１つの施設名の読みだけが記憶されている。これにより、各「分割単位」の「施設名」に記憶された施設名は、１個だけ記憶されるため、重複記憶される施設名を減少させて、名称リストのデータ容量の削減化を図り、名称リストを展開するメモリ容量の増大を抑止することが可能となる。
【実施例２】
【００９８】
次に、実施例２に係るナビゲーション装置８１について図８に基づいて説明する。尚、以下の説明において上記図１乃至図７の実施例１に係るナビゲーション装置１の構成と同一符号は、前記実施例１に係るナビゲーション装置１の構成と同一あるいは相当部分を示すものである。
【００９９】
この実施例２に係るナビゲーション装置８１の概略構成は、実施例１に係るナビゲーション装置１とほぼ同じ構成である。また、各種制御処理も実施例１に係るナビゲーション装置１とほぼ同じ制御処理である。
但し、ナビゲーション装置８１は、先頭文字情報データテーブル５２に替えて、図８に示す先頭文字情報データテーブル８２を施設名ＤＢ２７に格納している点で異なっている。このため、後述のように、上記Ｓ１１４における処理も異なっている。
【０１００】
ここで、先頭文字情報データテーブル８２について図８に基づいて説明する。
図８に示すように、実施例２に係る先頭文字情報データテーブル８２は、上記先頭文字情報データテーブル５２と同様に、「分割単位」と、「キーワードの先頭文字情報」と、「読み」とから構成されている。また、「キーワードの先頭文字情報」は、「あ行」〜「わ行」の５０音の行別に区分されている。
【０１０１】
但し、図８に示すように、各「分割単位」に対応する「キーワードの先頭文字情報」には、同じ「分割単位」に対応する「読み」に記憶された各施設名の読み毎に、各キーワードの先頭文字が属する５０音の行を行別にカウントし、カウント値が「１」以上の５０音の行別の区分には、「１」を代入して記憶し、カウント値が「０」の５０音の行別の区分には、「０」を代入して記憶する。つまり、各キーワードの先頭文字が属する５０音の行の区分には「１」が記憶され、それ以外の５０音の行の区分には「０」が記憶されている。
【０１０２】
例えば、図８に示すように、平仮名「せい」が記憶された「分割単位」に対応する「キーワードの先頭文字情報」には、施設名の読み「せいげん／そめや」の各キーワード「せいげん」、「そめや」の先頭文字が属する「さ行」のカウント値は「２」であるため（図３参照）、当該「キーワードの先頭文字情報」の「さ行」には、「１」が記憶されている。
【０１０３】
また同様に、平仮名「せい」が記憶された「分割単位」に対応する「キーワードの先頭文字情報」には、各施設名の読み「せいと／どーむ」、「せいとか／としょかん」の各キーワード「どーむ」、「としょかん」の先頭文字が属する「た行」の各カウント値は「１」であるため（図３参照）、当該「キーワードの先頭文字情報」の「た行」には、「１」が記憶されている。
【０１０４】
また同様に、平仮名「せい」が記憶された「分割単位」に対応する「キーワードの先頭文字情報」には、施設名の読み「せいと／ひゃっかてん」のキーワード「ひゃっかてん」の先頭文字が属する「は行」のカウント値は「１」であるため（図３参照）、当該「キーワードの先頭文字情報」の「は行」には、「１」が記憶されている。また、平仮名「せい」が記憶された「分割単位」に対応する「キーワードの先頭文字情報」の「あ行」、「か行」、「な行」、「ま行」〜「わ行」には、施設名の読みの各キーワードの先頭文字が属していない旨を表す「０」が記憶されている。
【０１０５】
従って、先頭文字情報データテーブル８２の各「分割単位」に対応する「キーワードの先頭文字情報」の「あ行」〜「わ行」の５０音の各行に記憶された値が「１」か否かによって、各「分割単位」内に記憶されている施設名の読みの各キーワードの先頭文字が属する５０音の行の有・無を判別することが可能となる。
【０１０６】
次に、実施例２に係るナビゲーション装置８１のＣＰＵ４１が実行するＳ１１４の処理について説明する。
Ｓ１１４において、ＣＰＵ４１は、全検索語をＲＡＭ４２から読み出し、上記Ｓ１１３で特定した「分割単位」に対応する「キーワードの先頭文字情報」の全検索語の各先頭文字の属する５０音の行の区分に記憶されている値が、全て「１」か否かを判定する判定処理を実行する。つまり、全検索語の各先頭文字の属する５０音の行に、各キーワードの先頭文字が属する施設名の読みが、当該「分割単位」に対応する施設名データテーブル５１の「分割単位」内の「読み」に記憶されているか否かを判定する判定処理を実行する。
【０１０７】
そして、当該「分割単位」の「キーワードの先頭文字情報」の５０音の行の区分に記憶されている値が、全て「１」でない、つまり、値の「０」のものがあると判定した場合には（Ｓ１１４：ＮＯ）、ＣＰＵ４１は、先頭文字情報データテーブル８２に次の「分割単位」が記憶されているか否かを判定する判定処理を実行する。
【０１０８】
そして、先頭文字情報データテーブル８２に次の「分割単位」が記憶されていると判定した場合には、ＣＰＵ４１は、先頭文字情報データテーブル８２の次の「分割単位」に記憶されている平仮名を読み出し、再度、Ｓ１１３以降のループを実行する。一方、先頭文字情報データテーブル８２に次の「分割単位」が記憶されていないと判定した場合には、ＣＰＵ４１は、ループを終了して上記Ｓ１１６の処理に移行する。
【０１０９】
一方、Ｓ１１４で当該「分割単位」の「キーワードの先頭文字情報」の全検索語の各先頭文字の属する５０音の行の区分に記憶されているカウント値が、全て「１」であると判定した場合には（Ｓ１１４：ＹＥＳ）、ＣＰＵ４１は、Ｓ１１５の処理に移行する。Ｓ１１５において、ＣＰＵ４１は、当該「分割単位」を施設名データテーブル５１の候補施設名を検索する該当「分割単位」としてＲＡＭ４２に記憶する。
【０１１０】
続いて、ＣＰＵ４１は、先頭文字情報データテーブル８２に次の「分割単位」が記憶されているか否かを判定する判定処理を実行する。そして、先頭文字情報データテーブル８２に次の「分割単位」が記憶されていると判定した場合には、ＣＰＵ４１は、先頭文字情報データテーブル８２の次の「分割単位」に記憶されている平仮名を読み出し、再度、Ｓ１１３以降のループを実行する。一方、先頭文字情報データテーブル８２に次の「分割単位」が記憶されていないと判定した場合には、ＣＰＵ４１は、ループを終了して上記Ｓ１１６の処理に移行する。
【０１１１】
例えば、図８に示すように、上記Ｓ１１２で１番目の検索順に設定された検索語が「せ」で、２番目の検索順に設定された検索語が「と」の場合には、ＣＰＵ４１は、当該検索語の先頭文字「せ」と前方一致する各平仮名「せ」、「せあ」、「せい」、「せう」、・・・「せん」が記憶された各「分割単位」について、Ｓ１１４の処理を実行する。
【０１１２】
そして、ＣＰＵ４１は、「キーワードの先頭文字情報」の全検索語「せ」、「と」の各先頭文字「せ」、「と」の属する５０音の「さ行」、「た行」に記憶されている値が、全て「１」である各平仮名「せい」、「せん」が記憶された「分割単位」を施設名データテーブル５１の候補施設名を検索する該当「分割単位」としてＲＡＭ４２に記憶する。
【０１１３】
以上詳細に説明した通り、実施例２に係るナビゲーション装置８１では、ＣＰＵ４１は、先頭文字情報データテーブル８２の各「分割単位」のうち、検索順が１番目の検索語と前方一致する平仮名が記憶された「分割単位」を抽出する。そして、ＣＰＵ４１は、この抽出した各「分割単位」のうち、各「分割単位」の「キーワードの先頭文字情報」の全検索語の各先頭文字の属する５０音の行の区分に記憶されている値が、全て「１」のものだけを、施設名データテーブル５１の候補施設名を検索する該当「分割単位」としてＲＡＭ４２に記憶する。
【０１１４】
続いて、ＣＰＵ４１は、施設名データテーブル５１の候補施設名を検索する該当「分割単位」を順番に読み出し、施設名データテーブル５１の該当「分割単位」内の全施設名の「読み」を順番にそれぞれ読み出す。そして、ＣＰＵ４１は、読み出した全施設名の「読み」について各検索語の全文検索を行い、読み出した施設名の読みを構成するキーワードの中に各検索語と前方一致するキーワードがある場合には、この施設名の読みに対応する「施設名」を施設名データテーブル５１から読み出し、目的地候補である候補施設名としてＲＡＭ４２に記憶する。
【０１１５】
これにより、文字数の少ない（例えば、１文字又は２文字である。）複数の検索語が入力されても、ＣＰＵ４１は、検索順が１番目の検索語と前方一致する平仮名が記憶された「分割単位」のうち、全検索語の先頭文字を各キーワードの先頭文字に有する施設名が記憶された「分割単位」だけを先頭文字情報データテーブル８２から抽出することが可能となる。
【０１１６】
従って、ＣＰＵ４１は、全検索語の先頭文字を各キーワードの先頭文字に有する施設名が記憶された「分割単位」だけを先頭文字情報データテーブル８２から抽出して、施設名データテーブル５１の該当「分割単位」内の全施設名の「読み」を順番にそれぞれ読み出して全検索語について全文検索を行うため、検索対象となる施設名の読みを少なくすることができ、検索を高速で行い、応答性の低下を防止することが可能となる。
【実施例３】
【０１１７】
次に、実施例３に係るナビゲーション装置８５について図９に基づいて説明する。尚、以下の説明において上記図１乃至図７の実施例１に係るナビゲーション装置１の構成と同一符号は、前記実施例１に係るナビゲーション装置１の構成と同一あるいは相当部分を示すものである。
【０１１８】
この実施例３に係るナビゲーション装置８５の概略構成は、実施例１に係るナビゲーション装置１とほぼ同じ構成である。また、各種制御処理も実施例１に係るナビゲーション装置１とほぼ同じ制御処理である。
但し、ナビゲーション装置８５は、先頭文字情報データテーブル５２に替えて、図９に示す先頭文字情報データテーブル８６を施設名ＤＢ２７に格納している点で異なっている。このため、後述のように、上記Ｓ１１４における処理も異なっている。
【０１１９】
ここで、先頭文字情報データテーブル８６について図９に基づいて説明する。
図９に示すように、実施例３に係る先頭文字情報データテーブル８６は、上記先頭文字情報データテーブル５２と同様に、「分割単位」と、「キーワードの先頭文字情報」と、「読み」とから構成されている。但し、「キーワードの先頭文字情報」は、平仮名が５０音順に１文字ずつ属するように区分されている。
【０１２０】
また、各「分割単位」に対応する「キーワードの先頭文字情報」には、同じ「分割単位」に対応する「読み」に記憶された各施設名の読み毎に、各キーワードの先頭文字を５０音別にそれぞれカウントし、各５０音別のカウント値のうちの各施設名の読みの間の最大カウント値をそれぞれ抽出して、「キーワードの先頭文字情報」の各キーワードの先頭文字が属する「あ」〜「ん」の区分に記憶されている。
【０１２１】
例えば、図９に示すように、平仮名「せい」が記憶された「分割単位」に対応する各施設名の読みには、「せいと／どーむ」、「せいと／ひゃっかてん」、「せいげん／そめや」、「せいとか／としょかん」が記憶されている。このため、施設名の読み「せいと／どーむ」の各キーワード「せいと」、「どーむ」の先頭文字のカウント値は、「せ」が「１」、「と」が「１」である。また、施設名の読み「せいと／ひゃっかてん」の各キーワード「せいと」、「ひゃっかてん」の先頭文字のカウント値は、「せ」が「１」、「ひ」が「１」である。
【０１２２】
また、施設名の読み「せいげん／そめや」の各キーワード「せいげん」、「そめや」の先頭文字のカウント値は、「せ」が「１」、「そ」が「１」である。また、施設名の読み「せいとか／としょかん」の各キーワード「せいとか」、「としょかん」の先頭文字のカウント値は、「せ」が「１」、「と」が「１」である。
【０１２３】
従って、平仮名「せい」が記憶された「分割単位」に対応する「キーワードの先頭文字情報」の各平仮名「せ」、「そ」、「と」、「ひ」が属する区分には、それぞれ最大カウント値として「１」が記憶されている。また、平仮名「せい」が記憶された「分割単位」に対応する「キーワードの先頭文字情報」の各平仮名「あ」〜「す」、「た」〜「て」、「な」〜「は」、「ふ」〜「ん」が属する区分には、「０」が記憶されている。
【０１２４】
これにより、先頭文字情報データテーブル８６の各「分割単位」に対応する「キーワードの先頭文字情報」の「あ」〜「ん」が属する各区分に記憶されたカウント値によって、各「分割単位」内に記憶されている施設名の読みの各キーワードの先頭文字を構成する平仮名を判別することが可能となる。
【０１２５】
次に、実施例３に係るナビゲーション装置８５のＣＰＵ４１が実行するＳ１１４の処理について説明する。
Ｓ１１４において、ＣＰＵ４１は、全検索語をＲＡＭ４２から読み出し、全検索語の各先頭文字を５０音別にカウントする。そして、ＣＰＵ４１は、上記Ｓ１１３で特定した「分割単位」の「キーワードの先頭文字情報」の全検索語の各先頭文字の属する区分に記憶されている各カウント値が、全検索語の各先頭文字の５０音別のカウント値以上か否かを判定する判定処理を実行する。つまり、全検索語の各先頭文字の属する５０音の区分に、各キーワードの先頭文字が属する施設名の読みが、当該「分割単位」に対応する施設名データテーブル５１の「分割単位」内の「読み」に記憶されているか否かを判定する判定処理を実行する。
【０１２６】
そして、当該「分割単位」の「キーワードの先頭文字情報」の全検索語の各先頭文字の属する区分に、全検索語の各先頭文字の５０音別のカウント値より少ない区分やカウント値が「０」の区分が１つでもあると判定した場合には（Ｓ１１４：ＮＯ）、ＣＰＵ４１は、先頭文字情報データテーブル８６に次の「分割単位」が記憶されているか否かを判定する判定処理を実行する。
【０１２７】
そして、先頭文字情報データテーブル８６に次の「分割単位」が記憶されていると判定した場合には、ＣＰＵ４１は、先頭文字情報データテーブル８６の次の「分割単位」に記憶されている平仮名を読み出し、再度、Ｓ１１３以降のループを実行する。一方、先頭文字情報データテーブル８６に次の「分割単位」が記憶されていないと判定した場合には、ＣＰＵ４１は、ループを終了してＳ１１６の処理に移行する。
【０１２８】
一方、Ｓ１１４で当該「分割単位」の「キーワードの先頭文字情報」の全検索語の各先頭文字の属する区分に記憶されているカウント値が、全検索語の各先頭文字の５０音別のカウント値以上であると判定した場合には（Ｓ１１４：ＹＥＳ）、ＣＰＵ４１は、Ｓ１１５の処理に移行する。Ｓ１１５において、ＣＰＵ４１は、当該「分割単位」を施設名データテーブル５１の候補施設名を検索する該当「分割単位」としてＲＡＭ４２に記憶する。
【０１２９】
続いて、ＣＰＵ４１は、先頭文字情報データテーブル８６に次の「分割単位」が記憶されているか否かを判定する判定処理を実行する。そして、先頭文字情報データテーブル８６に次の「分割単位」が記憶されていると判定した場合には、ＣＰＵ４１は、先頭文字情報データテーブル８６の次の「分割単位」に記憶されている平仮名を読み出し、再度、Ｓ１１３以降のループを実行する。一方、先頭文字情報データテーブル８６に次の「分割単位」が記憶されていないと判定した場合には、ＣＰＵ４１は、ループを終了してＳ１１６の処理に移行する。
【０１３０】
例えば、図９に示すように、上記Ｓ１１２で１番目の検索順に設定された検索語が「せ」で、２番目の検索順に設定された検索語が「と」の場合には、ＣＰＵ４１は、当該検索語の先頭文字「せ」と前方一致する各平仮名「せ」、「せあ」、「せい」、「せう」、・・・「せん」が記憶された各「分割単位」について、Ｓ１１４の処理を実行する。
【０１３１】
そして、ＣＰＵ４１は、「キーワードの先頭文字情報」の全検索語「せ」、「と」の各先頭文字「せ」、「と」の属する区分に記憶されている各カウント値が、「１」以上である各平仮名「せい」、「せん」が記憶された「分割単位」を施設名データテーブル５１の候補施設名を検索する該当「分割単位」としてＲＡＭ４２に記憶する。
【０１３２】
以上詳細に説明した通り、実施例３に係るナビゲーション装置８５では、ＣＰＵ４１は、先頭文字情報データテーブル８６の各「分割単位」のうち、検索順が１番目の検索語と前方一致する平仮名が記憶された「分割単位」を抽出する。そして、ＣＰＵ４１は、この抽出した各「分割単位」のうち、各「分割単位」の「キーワードの先頭文字情報」の全検索語の各先頭文字の属する区分に記憶されているカウント値が、全検索語の各先頭文字の５０音別のカウント値以上のものだけを、施設名データテーブル５１の候補施設名を検索する該当「分割単位」としてＲＡＭ４２に記憶する。
【０１３３】
続いて、ＣＰＵ４１は、施設名データテーブル５１の候補施設名を検索する該当「分割単位」を順番に読み出し、施設名データテーブル５１の該当「分割単位」内の全施設名の「読み」を順番にそれぞれ読み出す。そして、ＣＰＵ４１は、読み出した全施設名の「読み」について各検索語の全文検索を行い、読み出した施設名の読みを構成するキーワードの中に各検索語と前方一致するキーワードがある場合には、この施設名の読みに対応する「施設名」を施設名データテーブル５１から読み出し、目的地候補である候補施設名としてＲＡＭ４２に記憶する。
【０１３４】
これにより、文字数の少ない（例えば、１文字又は２文字である。）複数の検索語が入力されても、ＣＰＵ４１は、検索順が１番目の検索語と前方一致する平仮名が記憶された「分割単位」のうち、全検索語の先頭文字を各キーワードの先頭文字に有する施設名が記憶された「分割単位」だけを先頭文字情報データテーブル８６から抽出することが可能となる。
【０１３５】
従って、ＣＰＵ４１は、全検索語の先頭文字を各キーワードの先頭文字に有する施設名が記憶された「分割単位」だけを先頭文字情報データテーブル８６から抽出して、施設名データテーブル５１の該当「分割単位」内の全施設名の「読み」を順番にそれぞれ読み出して全検索語について全文検索を行うため、検索対象となる施設名の読みを少なくすることができ、検索を高速で行い、応答性の低下を防止することが可能となる。
【実施例４】
【０１３６】
次に、実施例４に係るナビゲーション装置９１について図１０及び図１１に基づいて説明する。尚、以下の説明において上記図１乃至図７の実施例１に係るナビゲーション装置１の構成と同一符号は、前記実施例１に係るナビゲーション装置１の構成と同一あるいは相当部分を示すものである。
【０１３７】
この実施例４に係るナビゲーション装置９１の概略構成は、実施例１に係るナビゲーション装置１とほぼ同じ構成である。また、各種制御処理も実施例１に係るナビゲーション装置１とほぼ同じ制御処理である。
但し、ナビゲーション装置９１は、施設名データテーブル５１に替えて、図１０に示す施設名データテーブル９２を施設名ＤＢ２７に格納し、また、先頭文字情報データテーブル５２に替えて、図１１に示す先頭文字情報データテーブル９３を施設名ＤＢ２７に格納している点で異なっている。
【０１３８】
ここで、施設名データテーブル９２について図１０に基づいて説明する。
図１０に示すように、施設名データテーブル９２は、施設名データテーブル５１と同様に、「分割単位」と、施設名の読みを記憶する「読み」と、「施設名」とから構成されている。
但し、この「分割単位」には、施設名の読みを構成するキーワードと前方一致する１文字乃至３文字の平仮名が、その属する５０音の１行乃至３行の組み合わせに対応されて記憶されている。例えば、「分割単位」が「た行あ行」には、施設名の読みのキーワードと前方一致する２文字の各平仮名「たあ」、「たい」、「たう」、・・・・「とえ」、「とお」が属している。
【０１３９】
尚、「分割単位」には、例えば「あ行あ行あ行あ行」、「あ行あ行あ行か行」、「あ行あ行あ行さ行」・・・等、５０音の４行以上の組み合わせを記憶するようにしてもよい。また、「分割単位」の一部区間だけ、例えば、・・・「あ行わ行」、「か行あ行あ行あ行」、「か行あ行あ行か行」、・・・「か行あ行あ行わ行」、「か行か行」、「か行さ行」・・等、５０音の４行以上の組み合わせを記憶するようにしてもよい。
【０１４０】
また、「読み」には、「分割単位」に属する１文字乃至３文字の各平仮名と前方一致するキーワードを含む施設名の読みが記憶されている。例えば、施設名の読みが「あいし／えいあーる／おかざき／こうじょう／せっけいか」は、各キーワードの前方３文字の「あいし」、「えいあ」、「おかざ」、「こうじ」、「せっけ」に対応する施設名データテーブル９２の「分割単位」の５０音の３行の各組み合わせ「あ行あ行さ行」、「あ行あ行あ行」、「あ行か行さ行」、「か行あ行さ行」、「さ行た行か行」に対応する「読み」にそれぞれ記憶される。
【０１４１】
また、「施設名」には、検索対象となる目的地を表す施設名が、「読み」に記憶された施設名の読みに対応して記憶されている。例えば、施設名「あいしＡＲ岡崎工場設計課」は、施設名データテーブル９２の「分割単位」の「あ行あ行さ行」、「あ行あ行あ行」、「あ行か行さ行」、「か行あ行さ行」、「さ行た行か行」内の「読み」の「あいし／えいあーる／おかざき／こうじょう／せっけいか」に対応する「施設名」にそれぞれ記憶される。
【０１４２】
次に、先頭文字情報データテーブル９３について図１１に基づいて説明する。
図１１に示すように、先頭文字情報データテーブル９３は、先頭文字情報データテーブル５２と同様に、「分割単位」と、「キーワードの先頭文字情報」と、「読み」とから構成されている。また、「キーワードの先頭文字情報」は、「あ行」〜「わ行」の５０音の行別に区分されている。
【０１４３】
但し、この「分割単位」は、施設名データテーブル９２の「分割単位」に対応するものであり、施設名の読みを構成するキーワードと前方一致する１文字乃至３文字の平仮名が、その属する５０音の１行乃至３行の組み合わせに対応されて記憶されている。例えば、「分割単位」が「あ行あ行」には、施設名の読みのキーワードと前方一致する２文字の各平仮名「ああ」、「あい」、「あう」、・・・・「おえ」、「おお」が属している。
【０１４４】
また、各「分割単位」に対応する「読み」には、施設名データテーブル９２の各「分割単位」内の「読み」に記憶された施設名の読みがそれぞれ格納されている。例えば、５０音の２行の組み合わせ「あ行あ行」が記憶された「分割単位」に対応する「読み」には、施設名データテーブル９２の５０音の２行の組み合わせ「あ行あ行」が記憶された「分割単位」内の「読み」に記憶されている施設名の読み「ああ」、「えい」、・・・が、区切り文字「；」で区切られて記憶されている。
【０１４５】
また、各「分割単位」に対応する「キーワードの先頭文字情報」には、同じ「分割単位」に対応する「読み」に記憶された各施設名の読み毎に、各キーワードの先頭文字が属する５０音の行を行別にカウントし、各５０音の行別のカウント値のうちの各施設名の読みの間の最大カウント値をそれぞれ抽出して、「キーワードの先頭文字情報」の「あ行」〜「わ行」の５０音の行別に区分して記憶されている。
【０１４６】
例えば、図１１に示すように、５０音の３行の組み合わせ「あ行あ行さ行」が記憶された「分割単位」に対応する「キーワードの先頭文字情報」には、施設名の読み「おおさか／おおい／おおさまじょう／おおて／おみやげ」の各キーワード「おおさか」、「おおい」、「おおさまじょう」、「おおて」、「おみやげ」の先頭文字が属する「あ行」のカウント値「５」が、各キーワードの先頭文字が属する５０音の行を行別にカウントした最大カウント値として記憶されている。
【０１４７】
また同様に、５０音の３行の組み合わせ「あ行あ行さ行」が記憶された「分割単位」に対応する「キーワードの先頭文字情報」には、施設名の読み「あいし／えいあーる／おかざき／こうじょう／せっけいか」のキーワード「こうじょう」の先頭文字が属する「か行」のカウント値「１」が、各キーワードの先頭文字が属する５０音の行を行別にカウントした最大カウント値として記憶されている。
【０１４８】
また同様に、５０音の３行の組み合わせ「あ行あ行さ行」が記憶された「分割単位」に対応する「キーワードの先頭文字情報」には、施設名の読み「うえしの／しあたー」のキーワード「しあたー」の先頭文字が属する「さ行」のカウント値「１」が、各キーワードの先頭文字が属する５０音の行を行別にカウントした最大カウント値として記憶されている。また、５０音の３行の組み合わせ「あ行あ行さ行」が記憶された「分割単位」に対応する「キーワードの先頭文字情報」の「た行」〜「わ行」には、施設名の読みの各キーワードの先頭文字が属していない旨を表す「０」が記憶されている。
【０１４９】
従って、先頭文字情報データテーブル９３の各「分割単位」に対応する「キーワードの先頭文字情報」の「あ行」〜「わ行」の５０音の行別に区分して記憶されたカウント値によって、各「分割単位」内に記憶されている施設名の読みの各キーワードの先頭文字が属する５０音の行の有・無を判別することが可能となる。
【０１５０】
そして、実施例４に係るナビゲーション装置９１のＣＰＵ４１は、上記図５に示す「候補施設名抽出処理」のサブ処理のＳ１１３〜Ｓ１１６において、施設名データテーブル５１及び先頭文字情報データテーブル５２に替えて、施設名データテーブル９２及び先頭文字情報データテーブル９３を使用する。
【０１５１】
具体的には、上記Ｓ１１３において、ＣＰＵ４１は、先頭文字情報データテーブル９３の１番目の「分割単位」に記憶されている５０音の行の組み合わせに属する平仮名が、検索順が１番目の検索語と前方一致するか否かを判定する判定処理を実行する。そして、当該「分割単位」に記憶されている５０音の行の組み合わせに属する平仮名が、検索順が１番目の検索語と前方一致しないと判定した場合には（Ｓ１１３：ＮＯ）、ＣＰＵ４１は、先頭文字情報データテーブル９３に次の「分割単位」が記憶されているか否かを判定する判定処理を実行する。
【０１５２】
そして、先頭文字情報データテーブル９３に次の「分割単位」が記憶されていると判定した場合には、ＣＰＵ４１は、先頭文字情報データテーブル９３の次の「分割単位」に記憶されている５０音の行の組み合わせに属する平仮名を読み出し、再度、Ｓ１１３以降のループを実行する。一方、先頭文字情報データテーブル９３に次の「分割単位」が記憶されていないと判定した場合には、ＣＰＵ４１は、ループを終了してＳ１１６の処理に移行する。
【０１５３】
一方、Ｓ１１３で当該「分割単位」に記憶されている５０音の行の組み合わせに属する平仮名が、検索順が１番目の検索語と前方一致すると判定した場合には（Ｓ１１３：ＹＥＳ）、ＣＰＵ４１は、Ｓ１１４の処理に移行する。Ｓ１１４において、ＣＰＵ４１は、全検索語をＲＡＭ４２から読み出し、全検索語の各先頭文字の属する５０音の行を行別にカウントする。
【０１５４】
そして、ＣＰＵ４１は、当該「分割単位」の「キーワードの先頭文字情報」の全検索語の各先頭文字の属する５０音の行の区分に記憶されている各カウント値が、全検索語の各先頭文字の属する５０音の行の行別のカウント値以上か否かを判定する判定処理を実行する。つまり、全検索語の各先頭文字の属する５０音の行に、各キーワードの先頭文字が属する施設名の読みが、当該「分割単位」に対応する施設名データテーブル９２の「分割単位」内の「読み」に記憶されているか否かを判定する判定処理を実行する。
【０１５５】
そして、当該「分割単位」の「キーワードの先頭文字情報」の全検索語の各先頭文字の属する５０音の行の区分に記憶されているカウント値が、全検索語の各先頭文字の属する５０音の行の行別のカウント値より少ない５０音の行の区分やカウント値が「０」の５０音の行の区分が１つでもあると判定した場合には（Ｓ１１４：ＮＯ）、ＣＰＵ４１は、先頭文字情報データテーブル９３に次の「分割単位」が記憶されているか否かを判定する判定処理を実行する。
【０１５６】
そして、先頭文字情報データテーブル９３に次の「分割単位」が記憶されていると判定した場合には、ＣＰＵ４１は、先頭文字情報データテーブル９３の次の「分割単位」に記憶されている５０音の行の組み合わせに属する平仮名を読み出し、再度、Ｓ１１３以降のループを実行する。一方、先頭文字情報データテーブル９３に次の「分割単位」が記憶されていないと判定した場合には、ＣＰＵ４１は、ループを終了してＳ１１６の処理に移行する。
【０１５７】
一方、Ｓ１１４で当該「分割単位」の「キーワードの先頭文字情報」の全検索語の各先頭文字の属する５０音の行の区分に記憶されているカウント値が、全検索語の各先頭文字の属する５０音の行の行別のカウント値以上であると判定した場合には（Ｓ１１４：ＹＥＳ）、ＣＰＵ４１は、Ｓ１１５の処理に移行する。Ｓ１１５において、ＣＰＵ４１は、当該「分割単位」を施設名データテーブル９２の候補施設名を検索する該当「分割単位」としてＲＡＭ４２に記憶する。
【０１５８】
続いて、ＣＰＵ４１は、先頭文字情報データテーブル９３に次の「分割単位」が記憶されているか否かを判定する判定処理を実行する。そして、先頭文字情報データテーブル９３に次の「分割単位」が記憶されていると判定した場合には、ＣＰＵ４１は、先頭文字情報データテーブル９３の次の「分割単位」に記憶されている５０音の行の組み合わせに属する平仮名を読み出し、再度、Ｓ１１３以降のループを実行する。一方、先頭文字情報データテーブル９３に次の「分割単位」が記憶されていないと判定した場合には、ＣＰＵ４１は、ループを終了してＳ１１６の処理に移行する。
【０１５９】
例えば、図１１に示すように、上記Ｓ１１２で１番目の検索順に設定された検索語が「あい」で、２番目の検索順に設定された検索語が「こ」の場合には、ＣＰＵ４１は、当該検索語の先頭文字「あ」と前方一致する各５０音の行の組み合わせ「あ行」、「あ行あ行」、・・・「あ行あ行さ行」・・・「あ行わ行わ行」が記憶された各「分割単位」について、Ｓ１１４の処理を実行する。
【０１６０】
そして、ＣＰＵ４１は、「キーワードの先頭文字情報」の全検索語「あい」、「こ」の各先頭文字「あ」、「こ」の属する５０音の「あ行」、「か行」の区分に記憶されている各カウント値が、「１」以上である５０音の行の組み合わせ「あ行あ行さ行」が記憶された「分割単位」を施設名データテーブル９２の候補施設名を検索する該当「分割単位」としてＲＡＭ４２に記憶する。
【０１６１】
そして、Ｓ１１６において、ＣＰＵ４１は、ＲＡＭ４２から上記Ｓ１１５で記憶した施設名データテーブル９２の候補施設名を検索する該当「分割単位」を順番に読み出し、施設名データテーブル９２の該当「分割単位」内の全施設名の「読み」を順番にそれぞれ読み出す。そして、ＣＰＵ４１は、この読み出した各施設名の読みを構成するキーワードの中に、上記Ｓ１１２で検索順を設定した各検索語と前方一致するキーワードがあるか否かを判定する判定処理を実行する、つまり、読み出した全施設名の「読み」について各検索語の全文検索を行う。
【０１６２】
そして、ＣＰＵ４１は、読み出した施設名の読みを構成するキーワードの中に各検索語と前方一致するキーワードがある場合には、この施設名の読みに対応する「施設名」を施設名データテーブル９２から読み出し、目的地候補である候補施設名としてＲＡＭ４２に順番に記憶後、Ｓ１１７の処理に移行する。
【０１６３】
以上詳細に説明した通り、実施例４に係るナビゲーション装置９１では、ＣＰＵ４１は、先頭文字情報データテーブル９３の各「分割単位」のうち、検索順が１番目の検索語と前方一致する平仮名が属する５０音の行の組み合わせが記憶された「分割単位」を抽出する。そして、ＣＰＵ４１は、この抽出した各「分割単位」のうち、全検索語の各先頭文字の属する５０音の行に対応する、各「分割単位」の「キーワードの先頭文字情報」の５０音の行の区分に記憶されているカウント値が、全検索語の各先頭文字の属する５０音の行の行別のカウント値以上のものだけを、施設名データテーブル９２の候補施設名を検索する該当「分割単位」としてＲＡＭ４２に記憶する。
【０１６４】
続いて、ＣＰＵ４１は、施設名データテーブル９２の候補施設名を検索する該当「分割単位」を順番に読み出し、施設名データテーブル９２の該当「分割単位」内の全施設名の「読み」を順番にそれぞれ読み出す。そして、ＣＰＵ４１は、読み出した全施設名の「読み」について各検索語の全文検索を行い、読み出した施設名の読みを構成するキーワードの中に各検索語と前方一致するキーワードがある場合には、この施設名の読みに対応する「施設名」を施設名データテーブル９２から読み出し、目的地候補である候補施設名としてＲＡＭ４２に記憶する。
【０１６５】
これにより、文字数の少ない（例えば、１文字又は２文字である。）複数の検索語が入力されても、ＣＰＵ４１は、検索順が１番目の検索語と前方一致する平仮名が属する５０音の行の組み合わせが記憶された「分割単位」のうち、全検索語の先頭文字を各キーワードの先頭文字に有する施設名が記憶された「分割単位」だけを先頭文字情報データテーブル９３から抽出することが可能となる。
【０１６６】
従って、ＣＰＵ４１は、全検索語の先頭文字を各キーワードの先頭文字に有する施設名が記憶された「分割単位」だけを先頭文字情報データテーブル９３から抽出して、施設名データテーブル９２の該当「分割単位」内の全施設名の「読み」を順番にそれぞれ読み出して全検索語について全文検索を行うため、検索対象となる施設名の読みを少なくすることができ、検索を高速で行い、応答性の低下を防止することが可能となる。
【０１６７】
また、施設名データテーブル９２の「分割単位」間では「施設名」に記憶された施設名の重複はあるが、各「分割単位」内においては、「施設名」に記憶された施設名の重複は無く、１つの施設名だけが記憶されている。従って、施設名データテーブル９２の「分割単位」間では「読み」に記憶された施設名の読みの重複はあるが、各「分割単位」内においては、「読み」に記憶された施設名の読みの重複は無く、１つの施設名の読みだけが記憶されている。これにより、各「分割単位」の「施設名」に記憶された施設名は、１個だけ記憶されるため、重複記憶される施設名を減少させて、名称リストのデータ容量の削減化を図り、名称リストを展開するメモリ容量の増大を抑止することが可能となる。
【実施例５】
【０１６８】
次に、実施例５に係るナビゲーション装置９５について図１２に基づいて説明する。尚、以下の説明において上記図１乃至図７の実施例１に係るナビゲーション装置１の構成と同一符号は、前記実施例１に係るナビゲーション装置１の構成と同一あるいは相当部分を示すものである。また、上記図１０及び図１１の実施例４に係るナビゲーション装置９１の構成と同一符号は、前記実施例４に係るナビゲーション装置９１の構成と同一あるいは相当部分を示すものである。
【０１６９】
この実施例５に係るナビゲーション装置９５の概略構成は、実施例４に係るナビゲーション装置９１とほぼ同じ構成である。また、各種制御処理も実施例４に係るナビゲーション装置９１とほぼ同じ制御処理である。
但し、ナビゲーション装置９５は、先頭文字情報データテーブル９３に替えて、図１２に示す先頭文字情報データテーブル９６を施設名ＤＢ２７に格納している点で異なっている。このため、後述のように、上記Ｓ１１４における処理も異なっている。
【０１７０】
ここで、先頭文字情報データテーブル９６について図１２に基づいて説明する。
図１２に示すように、実施例５に係る先頭文字情報データテーブル９６は、上記先頭文字情報データテーブル９３と同様に、「分割単位」と、「キーワードの先頭文字情報」と、「読み」とから構成されている。また、「キーワードの先頭文字情報」は、「あ行」〜「わ行」の５０音の行別に区分されている。
【０１７１】
但し、図１２に示すように、各「分割単位」に対応する「キーワードの先頭文字情報」には、同じ「分割単位」に対応する「読み」に記憶された各施設名の読み毎に、各キーワードの先頭文字が属する５０音の行を行別にカウントし、カウント値が「１」以上の５０音の行別の区分には、「１」を代入して記憶し、カウント値が「０」の５０音の行別の区分には、「０」を代入して記憶する。つまり、各キーワードの先頭文字が属する５０音の行の区分には「１」が記憶され、それ以外の５０音の行の区分には「０」が記憶されている。
【０１７２】
例えば、図１２に示すように、５０音の３行の組み合わせ「あ行あ行さ行」が記憶された「分割単位」に対応する「キーワードの先頭文字情報」には、施設名の読み「おおさか／おおい／おおさまじょう／おおて／おみやげ」の各キーワード「おおさか」、「おおい」、「おおさまじょう」、「おおて」、「おみやげ」の先頭文字が属する「あ行」のカウント値は「５」であるため（図１１参照）、当該「キーワードの先頭文字情報」の「あ行」には、「１」が記憶されている。
【０１７３】
また同様に、５０音の３行の組み合わせ「あ行あ行さ行」が記憶された「分割単位」に対応する「キーワードの先頭文字情報」には、施設名の読み「あいし／えいあーる／おかざき／こうじょう／せっけいか」のキーワード「こうじょう」の先頭文字が属する「か行」のカウント値が「１」であるため（図１１参照）、当該「キーワードの先頭文字情報」の「か行」には、「１」が記憶されている。
【０１７４】
また同様に、５０音の３行の組み合わせ「あ行あ行さ行」が記憶された「分割単位」に対応する「キーワードの先頭文字情報」には、施設名の読み「うえしの／しあたー」のキーワード「しあたー」の先頭文字が属する「さ行」のカウント値が「１」であるため（図３参照）、当該「キーワードの先頭文字情報」の「さ行」には、「１」が記憶されている。また、５０音の３行の組み合わせ「あ行あ行さ行」が記憶された「分割単位」に対応する「キーワードの先頭文字情報」の「た行」〜「わ行」には、施設名の読みの各キーワードの先頭文字が属していない旨を表す「０」が記憶されている。
【０１７５】
従って、先頭文字情報データテーブル９６の各「分割単位」に対応する「キーワードの先頭文字情報」の「あ行」〜「わ行」の５０音の各行に記憶された値が「１」か否かによって、各「分割単位」内に記憶されている施設名の読みの各キーワードの先頭文字が属する５０音の行の有・無を判別することが可能となる。
【０１７６】
次に、実施例５に係るナビゲーション装置９５のＣＰＵ４１が実行するＳ１１４の処理について説明する。
Ｓ１１４において、ＣＰＵ４１は、全検索語をＲＡＭ４２から読み出し、Ｓ１１３で特定した「分割単位」（実施例４参照）に対応する「キーワードの先頭文字情報」の全検索語の各先頭文字の属する５０音の行の区分に記憶されている値が、全て「１」か否かを判定する判定処理を実行する。つまり、全検索語の各先頭文字の属する５０音の行に、各キーワードの先頭文字が属する施設名の読みが、当該「分割単位」に対応する施設名データテーブル９２の「分割単位」内の「読み」に記憶されているか否かを判定する判定処理を実行する。
【０１７７】
そして、当該「分割単位」の「キーワードの先頭文字情報」の５０音の行の区分に記憶されている値が、全て「１」でない、つまり、値の「０」のものがあると判定した場合には（Ｓ１１４：ＮＯ）、ＣＰＵ４１は、先頭文字情報データテーブル９６に次の「分割単位」が記憶されているか否かを判定する判定処理を実行する。
【０１７８】
そして、先頭文字情報データテーブル９６に次の「分割単位」が記憶されていると判定した場合には、ＣＰＵ４１は、先頭文字情報データテーブル９６の次の「分割単位」に記憶されている５０音の行の組み合わせに属する平仮名を読み出し、再度、Ｓ１１３以降のループを実行する。一方、先頭文字情報データテーブル９６に次の「分割単位」が記憶されていないと判定した場合には、ＣＰＵ４１は、ループを終了して上記Ｓ１１６の処理に移行する。
【０１７９】
一方、Ｓ１１４で当該「分割単位」の「キーワードの先頭文字情報」の全検索語の各先頭文字の属する５０音の行の区分に記憶されているカウント値が、全て「１」であると判定した場合には（Ｓ１１４：ＹＥＳ）、ＣＰＵ４１は、Ｓ１１５の処理に移行する。Ｓ１１５において、ＣＰＵ４１は、当該「分割単位」を施設名データテーブル９２の候補施設名を検索する該当「分割単位」としてＲＡＭ４２に記憶する。
【０１８０】
続いて、ＣＰＵ４１は、先頭文字情報データテーブル９６に次の「分割単位」が記憶されているか否かを判定する判定処理を実行する。そして、先頭文字情報データテーブル９６に次の「分割単位」が記憶されていると判定した場合には、ＣＰＵ４１は、先頭文字情報データテーブル９６の次の「分割単位」に記憶されている５０音の行の組み合わせに属する平仮名を読み出し、再度、Ｓ１１３以降のループを実行する。一方、先頭文字情報データテーブル９６に次の「分割単位」が記憶されていないと判定した場合には、ＣＰＵ４１は、ループを終了して上記Ｓ１１６の処理に移行する。
【０１８１】
例えば、図１２に示すように、上記Ｓ１１２で１番目の検索順に設定された検索語が「あい」で、２番目の検索順に設定された検索語が「こ」の場合には、ＣＰＵ４１は、当該検索語の先頭文字「あ」と前方一致する各５０音の行の組み合わせ「あ行」、「あ行あ行」、・・・「あ行あ行さ行」・・・「あ行わ行わ行」が記憶された各「分割単位」について、Ｓ１１４の処理を実行する。
【０１８２】
そして、ＣＰＵ４１は、「キーワードの先頭文字情報」の全検索語「あい」、「こ」の各先頭文字「あ」、「こ」の属する５０音の「あ行」、「か行」の区分に記憶されている値が、全て「１」である５０音の行の組み合わせ「あ行あ行さ行」が記憶された「分割単位」を施設名データテーブル９２の候補施設名を検索する該当「分割単位」としてＲＡＭ４２に記憶する。
【０１８３】
以上詳細に説明した通り、実施例５に係るナビゲーション装置９５では、ＣＰＵ４１は、先頭文字情報データテーブル９６の各「分割単位」のうち、検索順が１番目の検索語と前方一致する平仮名が属する５０音の行の組み合わせが記憶された「分割単位」を抽出する。そして、ＣＰＵ４１は、この抽出した各「分割単位」のうち、各「分割単位」の「キーワードの先頭文字情報」の全検索語の各先頭文字の属する５０音の行の区分に記憶されている値が、全て「１」のものだけを、施設名データテーブル９２の候補施設名を検索する該当「分割単位」としてＲＡＭ４２に記憶する。
【０１８４】
続いて、ＣＰＵ４１は、施設名データテーブル９２の候補施設名を検索する該当「分割単位」を順番に読み出し、施設名データテーブル９２の該当「分割単位」内の全施設名の「読み」を順番にそれぞれ読み出す。そして、ＣＰＵ４１は、読み出した全施設名の「読み」について各検索語の全文検索を行い、読み出した施設名の読みを構成するキーワードの中に各検索語と前方一致するキーワードがある場合には、この施設名の読みに対応する「施設名」を施設名データテーブル９２から読み出し、目的地候補である候補施設名としてＲＡＭ４２に記憶する。
【０１８５】
これにより、文字数の少ない（例えば、１文字又は２文字である。）複数の検索語が入力されても、ＣＰＵ４１は、検索順が１番目の検索語と前方一致する平仮名が属する５０音の行の組み合わせが記憶された「分割単位」のうち、全検索語の先頭文字を各キーワードの先頭文字に有する施設名が記憶された「分割単位」だけを先頭文字情報データテーブル９６から抽出することが可能となる。
【０１８６】
従って、ＣＰＵ４１は、全検索語の先頭文字を各キーワードの先頭文字に有する施設名が記憶された「分割単位」だけを先頭文字情報データテーブル９６から抽出して、施設名データテーブル９２の該当「分割単位」内の全施設名の「読み」を順番にそれぞれ読み出して全検索語について全文検索を行うため、検索対象となる施設名の読みを少なくすることができ、検索を高速で行い、応答性の低下を防止することが可能となる。
【実施例６】
【０１８７】
次に、実施例６に係るナビゲーション装置９８について図１３に基づいて説明する。尚、以下の説明において上記図１乃至図７の実施例１に係るナビゲーション装置１の構成と同一符号は、前記実施例１に係るナビゲーション装置１の構成と同一あるいは相当部分を示すものである。また、上記図１０及び図１１の実施例４に係るナビゲーション装置９１の構成と同一符号は、前記実施例４に係るナビゲーション装置９１の構成と同一あるいは相当部分を示すものである。
【０１８８】
この実施例６に係るナビゲーション装置９８の概略構成は、実施例４に係るナビゲーション装置９１とほぼ同じ構成である。また、各種制御処理も実施例４に係るナビゲーション装置９１とほぼ同じ制御処理である。
但し、ナビゲーション装置９８は、先頭文字情報データテーブル９３に替えて、図１３に示す先頭文字情報データテーブル９９を施設名ＤＢ２７に格納している点で異なっている。このため、後述のように、上記Ｓ１１４における処理も異なっている。
【０１８９】
ここで、先頭文字情報データテーブル９９について図１３に基づいて説明する。
図１３に示すように、実施例６に係る先頭文字情報データテーブル９９は、上記先頭文字情報データテーブル９３と同様に、「分割単位」と、「キーワードの先頭文字情報」と、「読み」とから構成されている。但し、「キーワードの先頭文字情報」は、平仮名が５０音順に１文字ずつ属するように区分されている。
【０１９０】
また、各「分割単位」に対応する「キーワードの先頭文字情報」には、同じ「分割単位」に対応する「読み」に記憶された各施設名の読み毎に、各キーワードの先頭文字を５０音別にそれぞれカウントし、各５０音別のカウント値のうちの各施設名の読みの間の最大カウント値をそれぞれ抽出して、「キーワードの先頭文字情報」の各キーワードの先頭文字が属する「あ」〜「ん」の区分に記憶されている。
【０１９１】
例えば、図１３に示すように、５０音の３行の組み合わせ「あ行あ行さ行」が記憶された「分割単位」に対応する各施設名の読みには、「あいし／えいあーる／おかざき／こうじょう／せっけいか」、「おおさか／おおい／おおさまじょう／おおて／おみやげ」、「うえしの／しあたー」が記憶されている。このため、施設名の読み「あいし／えいあーる／おかざき／こうじょう／せっけいか」の各キーワード「あいし」、「えいあーる」、「おかざき」、「こうじょう」、「せっけいか」の先頭文字のカウント値は、「あ」が「１」、「え」が「１」、「お」が「１」、「こ」が「１」、「せ」が「１」である。
【０１９２】
また、施設名の読み「おおさか／おおい／おおさまじょう／おおて／おみやげ」の各キーワード「おおさか」、「おおい」、「おおさまじょう」、「おおて」、「おみやげ」の先頭文字のカウント値は、「お」が「５」である。また、施設名の読み「うえしの／しあたー」の各キーワード「うれしの」、「しあたー」の先頭文字のカウント値は、「う」が「１」、「し」が「１」である。
【０１９３】
従って、５０音の３行の組み合わせ「あ行あ行さ行」が記憶された「分割単位」に対応する「キーワードの先頭文字情報」の各平仮名「あ」、「う」、「え」、「こ」、「し」、「せ」が属する区分には、それぞれ最大カウント値として「１」が記憶され、平仮名「お」が属する区分には、最大カウント値として「５」が記憶されている。また、５０音の３行の組み合わせ「あ行あ行さ行」が記憶された「分割単位」に対応する「キーワードの先頭文字情報」の各平仮名「い」、「か」〜「け」、「さ」、「す」、「そ」〜「ん」が属する区分には、「０」が記憶されている。
【０１９４】
これにより、先頭文字情報データテーブル９９の各「分割単位」に対応する「キーワードの先頭文字情報」の「あ」〜「ん」が属する各区分に記憶されたカウント値によって、各「分割単位」内に記憶されている施設名の読みの各キーワードの先頭文字を構成する平仮名を判別することが可能となる。
【０１９５】
次に、実施例６に係るナビゲーション装置９８のＣＰＵ４１が実行するＳ１１４の処理について説明する。
Ｓ１１４において、ＣＰＵ４１は、全検索語をＲＡＭ４２から読み出し、全検索語の各先頭文字を５０音別にカウントする。そして、ＣＰＵ４１は、Ｓ１１３で特定した「分割単位」（実施例４参照）の「キーワードの先頭文字情報」の全検索語の各先頭文字の属する区分に記憶されている各カウント値が、全検索語の各先頭文字の５０音別のカウント値以上か否かを判定する判定処理を実行する。つまり、全検索語の各先頭文字の属する５０音の区分に、各キーワードの先頭文字が属する施設名の読みが、当該「分割単位」に対応する施設名データテーブル９２の「分割単位」内の「読み」に記憶されているか否かを判定する判定処理を実行する。
【０１９６】
そして、当該「分割単位」の「キーワードの先頭文字情報」の全検索語の各先頭文字の属する区分に、全検索語の各先頭文字の５０音別のカウント値より少ない区分やカウント値が「０」の区分が１つでもあると判定した場合には（Ｓ１１４：ＮＯ）、ＣＰＵ４１は、先頭文字情報データテーブル９９に次の「分割単位」が記憶されているか否かを判定する判定処理を実行する。
【０１９７】
そして、先頭文字情報データテーブル９９に次の「分割単位」が記憶されていると判定した場合には、ＣＰＵ４１は、先頭文字情報データテーブル９９の次の「分割単位」に記憶されている５０音の行の組み合わせに属する平仮名を読み出し、再度、Ｓ１１３以降のループを実行する。一方、先頭文字情報データテーブル９９に次の「分割単位」が記憶されていないと判定した場合には、ＣＰＵ４１は、ループを終了してＳ１１６の処理に移行する。
【０１９８】
一方、Ｓ１１４で当該「分割単位」の「キーワードの先頭文字情報」の全検索語の各先頭文字の属する区分に記憶されているカウント値が、全検索語の各先頭文字の５０音別のカウント値以上であると判定した場合には（Ｓ１１４：ＹＥＳ）、ＣＰＵ４１は、Ｓ１１５の処理に移行する。Ｓ１１５において、ＣＰＵ４１は、当該「分割単位」を施設名データテーブル９２の候補施設名を検索する該当「分割単位」としてＲＡＭ４２に記憶する。
【０１９９】
続いて、ＣＰＵ４１は、先頭文字情報データテーブル９９に次の「分割単位」が記憶されているか否かを判定する判定処理を実行する。そして、先頭文字情報データテーブル９９に次の「分割単位」が記憶されていると判定した場合には、ＣＰＵ４１は、先頭文字情報データテーブル９９の次の「分割単位」に記憶されている５０音の行の組み合わせに属する平仮名を読み出し、再度、Ｓ１１３以降のループを実行する。一方、先頭文字情報データテーブル９９に次の「分割単位」が記憶されていないと判定した場合には、ＣＰＵ４１は、ループを終了してＳ１１６の処理に移行する。
【０２００】
例えば、図１３に示すように、上記Ｓ１１２で１番目の検索順に設定された検索語が「あい」で、２番目の検索順に設定された検索語が「こ」の場合には、ＣＰＵ４１は、当該検索語の先頭文字「あ」と前方一致する各５０音の行の組み合わせ「あ行」、「あ行あ行」、・・・「あ行あ行さ行」・・・「あ行わ行わ行」が記憶された各「分割単位」について、Ｓ１１４の処理を実行する。
【０２０１】
そして、ＣＰＵ４１は、「キーワードの先頭文字情報」の全検索語「あい」、「こ」の各先頭文字「あ」、「こ」の属する５０音の「あ」、「こ」の区分に記憶されている値が、全て「１」以上である５０音の行の組み合わせ「あ行あ行さ行」が記憶された「分割単位」を施設名データテーブル９２の候補施設名を検索する該当「分割単位」としてＲＡＭ４２に記憶する。
【０２０２】
以上詳細に説明した通り、実施例６に係るナビゲーション装置９８では、ＣＰＵ４１は、先頭文字情報データテーブル９９の各「分割単位」のうち、検索順が１番目の検索語と前方一致する平仮名が属する５０音の行の組み合わせが記憶された「分割単位」を抽出する。そして、ＣＰＵ４１は、この抽出した各「分割単位」のうち、各「分割単位」の「キーワードの先頭文字情報」の全検索語の各先頭文字の属する区分に記憶されているカウント値が、全検索語の各先頭文字の５０音別のカウント値以上のものだけを、施設名データテーブル９２の候補施設名を検索する該当「分割単位」としてＲＡＭ４２に記憶する。
【０２０３】
続いて、ＣＰＵ４１は、施設名データテーブル９２の候補施設名を検索する該当「分割単位」を順番に読み出し、施設名データテーブル９２の該当「分割単位」内の全施設名の「読み」を順番にそれぞれ読み出す。そして、ＣＰＵ４１は、読み出した全施設名の「読み」について各検索語の全文検索を行い、読み出した施設名の読みを構成するキーワードの中に各検索語と前方一致するキーワードがある場合には、この施設名の読みに対応する「施設名」を施設名データテーブル５１から読み出し、目的地候補である候補施設名としてＲＡＭ４２に記憶する。
【０２０４】
これにより、文字数の少ない（例えば、１文字又は２文字である。）複数の検索語が入力されても、ＣＰＵ４１は、検索順が１番目の検索語と前方一致する平仮名が属する５０音の行の組み合わせが記憶された「分割単位」のうち、全検索語の先頭文字を各キーワードの先頭文字に有する施設名が記憶された「分割単位」だけを先頭文字情報データテーブル９９から抽出することが可能となる。
【０２０５】
従って、ＣＰＵ４１は、全検索語の先頭文字を各キーワードの先頭文字に有する施設名が記憶された「分割単位」だけを先頭文字情報データテーブル９９から抽出して、施設名データテーブル９２の該当「分割単位」内の全施設名の「読み」を順番にそれぞれ読み出して全検索語について全文検索を行うため、検索対象となる施設名の読みを少なくすることができ、検索を高速で行い、応答性の低下を防止することが可能となる。
【０２０６】
尚、本発明は前記実施例に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の改良、変形が可能であることは勿論である。
【０２０７】
（Ａ）例えば、実施例３に係る先頭文字情報データテーブル８６又は実施例６に係る先頭文字情報データテーブル９９において、各「分割単位」に対応する「キーワードの先頭文字情報」には、同じ「分割単位」に対応する「読み」に記憶された各施設名の読み毎に、各キーワードの先頭文字を５０音別にそれぞれカウントし、カウント値が「１」以上の５０音の区分には、「１」を代入して記憶し、カウント値が「０」の５０音の区分には、「０」を代入して記憶するようにしてもよい。
【０２０８】
そして、上記Ｓ１１４において、ＣＰＵ４１は、全検索語をＲＡＭ４２から読み出し、Ｓ１１３で特定した「分割単位」に対応する「キーワードの先頭文字情報」の全検索語の各先頭文字の属する５０音の区分に記憶されている値が、全て「１」か否かを判定する判定処理を実行するようにしてもよい。
【０２０９】
（Ｂ）また、例えば、各先頭文字情報データテーブル５２、８２、８６、９３、９６、９９の「読み」の欄のデータを記憶しなくてもよい。これにより、各先頭文字情報データテーブル５２、８２、８６、９３、９６、９９のデータ容量の削減化を図ることができる。
【０２１０】
（Ｃ）また、例えば、各施設名データテーブル５１、９２、及び、各先頭文字情報データテーブル５２、８２、８６、９３、９６、９９の「分割単位」に、平仮名だけでなく、片仮名、アルファベット、数字、所定の記号（例えば、算術記号や矢印等である。）を記憶するようにしてもよい。
【０２１１】
例えば、各施設名データテーブル５１、９２、及び、各先頭文字情報データテーブル５２、８２、８６、９３、９６、９９の「分割単位」にアルファベットをアルファベット順に１文字乃至５文字ずつ記憶するようにしてもよい。そして、各施設名データテーブル５１、９２の「施設名」には、アルファベットで施設名を記憶し、「読み」には、施設名をキーワードに区切って記憶するようにしてもよい。
【０２１２】
また、各先頭文字情報データテーブル５２、８２、８６、９３、９６、９９の「キーワードの先頭文字情報」には、アルファベットがアルファベット順に１文字又は複数文字ずつ属するように区分してもよい。また、各先頭文字情報データテーブル５２、８２、８６、９３、９６、９９の各「分割単位」に対応する「読み」には、各施設名データテーブル５１、９２の各「分割単位」内の「読み」に記憶されたキーワードに区切られた施設名を記憶するようにしてもよい。
【符号の説明】
【０２１３】
１、８１、８５、９１、９５、９８      ナビゲーション装置
１４      操作部
１５      液晶ディスプレイ
１８      タッチパネル
２５      地図情報ＤＢ
２７      施設名ＤＢ
４１      ＣＰＵ
４２      ＲＡＭ
４３      ＲＯＭ
５１、９２      施設名データテーブル
５２、８２、８６、９３、９６、９９      先頭文字情報データテーブル
６１      検索語入力画面
６２      ５０音キー
７１      検索結果表示画面
７２      検索結果表示欄
【図１】
0005577809.tif 000002
【図２】
0005577809.tif 000003
【図３】
0005577809.tif 000004
【図４】
0005577809.tif 000005
【図５】
0005577809.tif 000006
【図６】
0005577809.tif 000007
【図７】
0005577809.tif 000008
【図８】
0005577809.tif 000009
【図９】
0005577809.tif 000010
【図１０】
0005577809.tif 000011
【図１１】
0005577809.tif 000012
【図１２】
0005577809.tif 000013
【図１３】
0005577809.tif 000014