ここに拡張方法が載っている。
Zend_Search(Lucune)もNamazuなどと同じくIndexerでIndexを作成してSearchする
Indexerが文字列をAnalyzeしてくれるんだけど、デフォルトでctype_alpha() を利用していて、UTF-8のアルファベットしか読み込まないようで。
しかし、テキスト解析器およびクエリパーサは、 テキストやクエリをトークン化する際に ctype_alpha() を使用しています。ctype_alpha() は UTF-8 をサポートしていません。この処理は近いうちに書き直す必要があります。
Zend_Search_Lucene では Basic Multilingual Plane (BMP) 文字 (0x0000 から 0xFFFF まで) のみをサポートしており、 "supplementary characters" (コードポイントが 0xFFFF より大きい文字) はサポートしていません。
それは困るので、日本語でAnalyzeしたい。
class JPAnlyzer extends Zend_Search_Lucene_Analysis_Analyzer_Common
として拡張するのだけど。
さて、日本語形態解析を俺がソース書くのか?マジっすか。完成したらすげーよね。Zendの開発者日本第一号だろ。あははは。
俺、形態解析の手法を知らないんですよね。手法さえ分かればPHPのコード書くんだけど。。。
LuceneはもともとJavaかぁ。Javaのコードなら目をつぶっても読めるのでJavaのコードをPHPに再構築すればいいか。
形態解析の本を買ってきて。。。
道は険しいなぁ。
誰かやってくれないかなぁ。
GETAエンジン使えたら楽なのになぁ