January 21, 2013

検索エンジン構築の調べ

本ブログに検索窓を追加するべき調べている時のメモをまとめておく。


FTS3を使って全文検索してみた。

SQLiteの全文検索というと、昔はFTS1とか2とかのモジュールを使用する方式だったみたいだけど、現在はFTS3なるものがsqlite3.exeとかに含まれているので、得に下準備をすることなく使用できるっぽい。


oogle App Engineではpure-Pythonなライブラリしか使えないため、Google App Engineで形態素解析をする場合には、Yahoo!の形態素解析サービスに処理を投げているものが多い。そうなると当然、他のサービスに依存してしまうため、そのサービスが落ちたりすると困ったことになる。できれば自分で形態素解析をしたいのだが、自分で全て書くには手間がかかるし、MeCabやChasenなどはpure-Pythonなものではないため使えない。 


Blogのページや、ニュース記事のページから、本文を含む領域のHTMLを抽出します。

いくつもの経験則を組み合わせた抽出方法によって、80%程度の正解率で抽出できます。

日本語/英語を自動判定し、それぞれに対応した抽出を行います。

こんなところだろうか。このあたりを組み合わせれば、簡易的な検索エンジンを構築する事は出来そう。(精度とか速度は、気にしない場合)

より良いものを実現したい場合は、Googleのカスタム検索を利用するの良いかな。本格的に、構築したい場合は、Apache Solrを利用するのが流行りなのだろうか。

© gepuro 2013