タグ

Pythonとdbに関するsifueのブックマーク (3)

  • Google App Engineで全文検索 - 星屑日記

    調べた限りGAEには(日語を)全文検索する機能はついてない。なのでちょっくら作ってみました。一応動くのは出来たけど、いろいろ不満な点が多い。転置インデックスはN-gramでN=2で作成。サンプルをサイトで公開してますが、検索は完全一致で結果の順位は考慮してません。最もシンプルなシステムで、検索語句を入力すると、Datastoreに格納されているその語句が含まれる文章を表示し、検索語句を強調表示します。また、100文字以下の文章ならDatastoreに格納できます。何故100文字以下かというと、文字数が多くなるとそれに伴い転置インデックスの作成量を増えていきます。となると、処理時間も長くなってGAEの処理時間オーバーのエラーが発生してしまう。うーん、もっと効率のよい転置インデックスの作成方法がないものか。全文検索の心臓部分のコードは以下の通り。GitHubにも置いてます。 http://g

    Google App Engineで全文検索 - 星屑日記
  • 全文検索エンジンを試作してみたよ - やればできる子の日記

    今日は奥様とタイ料理&タイ式マッサージの日でした。マッサージはちょっと素晴らしいなあ。 表題のように、全文検索エンジンをGAE上で試作してみました。GAEはGoogle様提供のサービスにもかかわらず「なんで全文検索機能がないねん」という声が上がっていたんですよね。主にtwitter界隈から。 「Introduction to Information Retrieval」というのドラフトPDFと、たつをさんのところのIIR輪講の資料を参考に作りました。つっても、第1章の一部の知識しか使ってないですが。論理和検索もスキップリストも使ってないし(論理和検索はクエリ式のパーサを書くのが面倒だった)。 import logging import re from urllib import urlencode import wsgiref.handlers from google.appengine

    全文検索エンジンを試作してみたよ - やればできる子の日記
  • SQLite3を使用する - Python Tips

    軽量・高速なデータベースSQLitePythonから扱うためのライブラリ。 インストール Python2.5から標準ライブラリに入りました。 インストール作業は不要です。 使用方法 sqlite3をインポートする #!python2.6 # -*- coding: utf-8 -*- import sqlite3 データベースを作成する con = sqlite3.connect("data.db") ファイルがすでに存在するときはファイルを開く。 ファイルがないときは新しいデータベースを作成する。 isolation_levelにNoneを指定すると、自動コミットモードになります。 con = sqlite3.connect('temp.db', isolation_level=None) 特別な名前である ":memory:" を使うとRAM上にデータベースを作ることもできます。 c

  • 1