[[韓日ミニ辞典開発歴]]に戻る&br;

 検索枠に入力された文字列を検索するには,いくつかの方法が考えられます。まず,辞書の見出し項目だけを抽出し,インデックスファイルを作成します。そして,ある単語が辞書に含まれているか否かの判定は,このインデックスファイルに対して行います。&br;
 Java Scriptやperlであれば,起動時に一度だけインデックスファイルを配列変数に読み込んでおけば,終了時までそのまま利用できますが,phpの場合は,セッションが遷移する度に配列変数がクリアされてしまうので,対策を考える必要があります。検索の度に配列変数を全て読み直すのは,実行速度にも影響を与えかねません。&br;
 phpに最初から組み込まれているデータベース・ソフトであるSQLiteを利用することも考えましたが,当面はインデックスファイルとデータファイルを細かく分けることで,速度の向上とメンテナンスのし易さを図ることにしました。&br;
 この目的にピッタリなのが,10進数に変換したUnicodeです。コードから44031を減じることによって,가から힣までの理論的に存在しうる全てのハングルを,1から11172までの数値に対応させることができます。これを利用して,가で始まる単語をインデックスファイル1に保存し,개で始まる単語をインデックスファイル2に保存する,というようにします。これなら一度に検索すべきデータは数百のオーダーで収まりそうです。&br;
 そして,そのインデックスファイルに保存されている項目に対する解説と用例を保存したファイルを,別途準備しておき,必要な部分だけを読み込むようにします。例えば,가で始まる単語の項目はindex_1.txt に保存しておき,データファイルはga.txtに保存しておきます。アルゴリズムの点からは,word_1.txtに保存する方が簡単になりますが,メンテナンスのし易さを考慮して,このようにしました。&br;

[[韓日ミニ辞典開発歴]]に戻る&br;




トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS