初めてのGAE(Google App Engine)と、初めての python でしたから、苦労しました。もう、ネットを調べまわりました(笑)
で、調べていくうちに、なんと、N-Gram を使った日本語の全文検索がないらしい(あるのかも知れませんが、見つかりませんでした)
という事に気がつき、それじゃ作ってしまおうと思い立ったわけです。
勉強していくと判るのですが、GAEのデータベースに変わる、python向けのデータストア(datastore)APIが用意されていて、
それをアクセスするのに使われるSQLもどきの、GQLというツールには、制限が多いんです。
SQLでいうところの、LIKE は使えませんし、条件の OR もありません(ANDだけです)
作っていくのに、はまった箇所はいくつもありました。大体 python 自体も知らないのですから、無謀です。
コンピュータは紙カードでデータを処理する頃からですから、かなり昔からやっています。
汎用機から、パソコンへ開発も移り、アッセンブラ、PL/I、COBOL等 から、VBや、.NET と進んで来ましたが、
もう最近は付いていけなくなっています。
それなのに、python(パイソン)です。もう笑うしかない。
作成中によく嵌ったのは、日本語の処理でしたが、未だによく理解出来ていません。
作成するファイルの頭の部分には、#! -*- coding:utf-8 -*- を入れておく必要があるとか
作成したファイルは、UTF-8 で保存しないと文字化けするとか、
文字型の場合は、.encode('utf_8') を付けるとか
テンプレートを使えば、日本語は大丈夫らしいとか、散々でした。
python でさえも、文字列の部分参照はどうやるんだろうとか、日付はどうやって取得するのか、もう知っている方にとっては
当たり前の事でしょうが、素人ですから仕方ありません。
で、pythonの言語解説を書くつもりも、Google App Engine の解説もするつもりもありませんし、素人に書けるわけも
ありませんので、ひとまず、私が作ったソースを公開して、反応が見たいなぁと思った次第です。
実際には、1本のプログラムになるのですが、別々に作成したせいもありますし、分かれていた方が、
理解しやすいと思い、このまま公開します。
ただなにぶんにも、素人が作成しておりますので、無駄なロジックや考え方の違いもあるかも知れませんが、
そこはひとつ、大きい目で見てやってください。
|