2007年12月6日木曜日

Tokenつかいまわし(LUCENE-969)の罠

訂正: ちゃんと使えば問題ありません
何にも考えずに、Tokenizerで1つのTokenだけ保持して使い回すようにしたら、
今まで検索できていたものが検索できなくなった。
queryrewrite&toStringしてやっと気付いた。気付くまで時間がかかってしまった。
TokenをつかいまわすTokenizer/AnalyzerQueryParserで使うと、
Analyze結果をPhraseQueryとかにするために、TokenVectorに入れて保持してるから、
最終的に取得できるQueryでつかうTermが全部同じになってしまう。
気付けば当たり前なんだけど。
Indexの構築は問題なかった。

0 件のコメント:

コメントを投稿