• 締切済み

Google App Engine (GAE)のデータストアについて

こんにちは Google App Engineのデータストアについて質問があります。 例えばGAEでデプロイしたページに文字列をデータストアに登録できるフォームを設置して、そのページ内にある検索ボックスから文字列を入力するとデータストアに一致する文字列がある場合にその文章を表示するようなものがあるとすると、検索エンジンでデータストア内にある文字列で検索された場合に、検索で引っかかるようにしたい場合はどうしたらよいのでしょうか? ヒントになるようなことでも教えていただけたらと思います。よろしくお願いします。

みんなの回答

noname#94983
noname#94983
回答No.1

うーん、要するに、データストアに保管したデータを、検索エンジンで検索されるようにしたい、ということだろうか。 データストアのデータにアクセスするのは、その管理者が設置したプログラム内からのみ可能なわけで、そこに検索エンジンが直接アクセスできてしまったら逆に問題だ。だから、そのままではできない。どうしてもというのなら、保管されたテキストを表示するページを作り、それを検索エンジンに登録するしかないと思うが。 検索ボックスから入力して検索するのとは別に、たとえば、/showdata?id=xxxというような形でアクセスすると、指定のIDのエンティティをページに表示する、というようなページを用意し、それを検索エンジンに読ませることは可能だろうと思う。つまりは固定されたURLとデータが1対1で対応し表示されるページ(つまり同じアドレスで動的に内容が変更されたりしないページ)を用意すれば検索エンジンからそのページを検索することはできるだろう。 要するに、データストアうんぬんは関係なく、最終的にHTMLのページとして表示されたものでなければ検索エンジンは見つけられないわけだから、問題は、そのデータをどういう形でgetし、ページに表示させるか、ということだろうと思う。 ちなみに、GAEのデータストアでは、検索を行う場合、おそらくGQLを使うと思うが、これのWHEREでは現時点でLIKEが使えない。つまり、実質「検索文字とイコール(完全一致)のものだけ」しかピックアップできないわけで、あんまりテキスト検索には向かないシステムだと思う。もしテキストのデータベース化をGAEで考えているなら、そもそもの検索システム部分をどうするか考えないといけない気がするな。

hiro19834
質問者

補足

役立つ情報をありがとうございます。 なんとなく分かってきました。 「http://xxx.com/showdata?id=xxx」というアドレスで作られるページがいつも同じであれば良いという事ですね。 ですが、「http://xxx.com/showdata?id=xxx」のアドレスのリンクをトップページに張らないと検索エンジンは見つけてくれないのですか? 何かよい方法がありますでしょうか? 勉強不足で申し訳ありません。よろしくお願いします。

すると、全ての回答が全文表示されます。

関連するQ&A