全文検索サイト(3) MySQL+Djangoのあれこれ

シリーズ最終回の今回はDjangoで全文検索をするときに役に立つかもしれないTipsです。
全文検索サイトに直接関係するわけではないですが、、、

1. バッチ処理をdjangoで動かす。

実は全文検索のインデックスを作るのって結構時間がかかるんですよ。ですのでオンラインで処理させるのはちょっと気がひけます。
とはいえ、djangoのために作ったモデルやDBへの接続情報などは活用したい場合です。

import sys
import os

sys.path.append(‘/path-to-project/’)
os.environ['DJANGO_SETTINGS_MODULE'] = ‘projectName.settings’

from projectName.appName.models import *

のように書くだけです。
簡単に使えてしまうので、使わない手はないでしょう。

2. MySQLの全文検索方法

filterではどうにもならないので、extraを使います。

result = SampleModel.objects.extra(
    where=’match column_name against(%s’),
    params=['検索 用語'])

などと書いてしまうだけです。案外シンプルです。
これにfilterをつなげていけばさらに絞り込むこともできます。

djangoのQuerySet APIは良く練られたAPIだなと感心します。


Leave a Reply

 

2010年8月
« 7月   10月 »
1234567
891011121314
15161718192021
22232425262728
293031  

最近のコメント

最近の投稿

メタ情報

カテゴリー