2011-12-24 23 views
0

テキスト索引作成のためにluceneに複合語のリストを与えることは可能でしょうか?Luceneの複合語

たとえば、「コンピュータ情報」を1つのWordとして索引付けする必要があります。

私は改宗して、「コンピュータ情報」を「Computer_Information」または「ComputerInformationを」それを行うことができますが、この変換は非常に困難であり、問​​題がオープンここにある:

Replace Long list Words in a big Text File

+1

これは、最後に処理されたトークンをメモリに保持するTokenFilterで可能ですが、解析前に空白を最初に分割するので、この種のトークンは標準のLuceneクエリーパーサーでは機能しません。あなたの目標が何であるかを記述できますか、おそらく他のアプローチも同様に機能します。 – jpountz

+0

それは情報検索研究(ESA方法)のためであり、説明するのは難しいが、ここでより多くの情報を見つけることができる:http://github.com/faraday/wikiprep-esa - 私の仮定は、 "Computer_Information"クエリ時間。 –

+0

私はTokenFilterのグーグル・グーグルをしていますが、私の目標にどのように使っているのか分かりません。複合語を単一の単語(A B)から(A_B)に置き換えるよりも速いです –

答えて

1

I wrote aトークンフィルタへこれを使用してください。それは@jpountzが描いていたものです。

+0

非常にニース、良いパフォーマンスがありますか?私の辞書には〜300万のエントリがあります –

+0

それは、基本的なハッシュテーブルの実装には何らかの性能があります。 3mのエントリを持つハッシュテーブルを作成するにはしばらく時間がかかりますので、アナライザーを永続させたいかもしれません。 – Xodarap