シリーズ最終回の今回はDjangoで全文検索をするときに役に立つかもしれないTipsです。
全文検索サイトに直接関係するわけではないですが、、、
1. バッチ処理をdjangoで動かす。
実は全文検索のインデックスを作るのって結構時間がかかるんですよ。ですのでオンラインで処理させるのはちょっと気がひけます。
とはいえ、djangoのために作ったモデルやDBへの接続情報などは活用したい場合です。
import sys
import ossys.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だなと感心します。