2011-02-03 25 views
0

SpanNearQuery.getSpans()によって返されたSpanに一致する単語を検索する必要があります。たとえば、私のテキストが[a b c d e f]で、クエリ 'b'と 'e'(そして十分なスロープ)を持つSpanNearQueriesを使用すると、テキストに「b c d e」という文字列が得られます。さて、どのようにして単語を「マッチ」に表示するか、つまり単語「b c d e」の並びを最も効率的に検索できますか?ここで LuceneのSpanNearQueryから一致する単語を取得する

は私が必要となるかのサンプルコードです:今

SpanNearQuery allNear = new SpanNearQuery(spansTermQueries, numWordsInBetween, true); 
Spans allSpans = allNear.getSpans(reader); 

私はallSpans内のすべての一致を反復したい、とそれぞれ一致するテキスト9クエリ間の正確な言葉を検索していますその一致に対応する。

間接的なやり方の1つは、ファイルリーダーを使用してテキスト文書を読み取って、 'end'と 'start'の間のテキスト文字列を見つけることです。しかし、それは非常に効率的な方法ではありません。この情報はすでにLucene Indexに保存されているはずです。

誰でも、一致の中のクエリ間の単語をより直接的に取得する方法は知っていますか?

ありがとうございました。

答えて

関連する問題