英語論文のDBを作成しています。
英単語を入力すると、登録済みの全論文データを走査して、
当該英単語を含む一文が表示されます
例えば、インタフェース上で"made"と入力すると、"made"を含んだセンテンスが全て表示される
"He made a little statue of clay"
"She made the material into a dress"
……
いわゆる、TIMESやCNNなどの報道機関が、ワード検索で記事を閲覧できるシステムを提供していますが、 あれと同じものを構築したいわけです。
現段階のイメージとしては、英論文を1センテンスごとに分割し、それを1件としたデータを作成する。
そこにsqlで走査する。
ただこのやり方だとレコードに多くの英単語情報が含まれているため、
アルファベットを1文字ごとに走査することになり、非効率的な気がします。
単語単位でレコードを作成すれば一発で引っ張ってくれますが、
表示するときにばらされた英単語をワンセンテンスに再度結合しなければいけません。
この処理を効率的におこなうためのテーブル構成とロジックの概要を教えていただきたく思います
よろしくお願いします。
*Windows VISTA
*Access2007 VBA
論文のテキストファイルでの量が現在何バイトくらいで,最終的に何バイトを上限と考えているかをお書きいただけると幸いです。
なお,論文の単語検索は,UNIX系のOSにあるgrepコマンドが高速です。
Windowsでも無償のgrepがあります。
grepはKWIC(key word in context)という,検索語を文の中入れた形式で表示するので便利です。
テキストファイルをgrepした時間を計り、それよりも速い時間になるかどうかを作成の基準にしてみてはどうでしょう。
便利な道具を作ろうと思ったら、目的が何かで,どういう道具を使うかというところから検討してみてはどうでしょうか?
お礼
grepが使えるとはしりませんでした。 処理速度はかなり改善しそうです ありがとうございます!