0

私はほとんど lucene4.0 (Java) でこれをやろうとしています: QueryParser に複数のフィールドを組み込む方法は?

すべてのフィールドを検索したいのですが(すべてのドキュメントにすべてが存在するわけではありません)、それらの名前がわかりません。だからここで私は見つけました:

QueryParser queryParser = new MultiFieldQueryParser(Version.LUCENE_29, ir.GetFieldNames(IndexReader.FieldOption.ALL).toArray(), analyzer)

getfieldNames()4.0 では " LUCENE-3679 Replace IndexReader.getFieldNames with IndexReader.getFieldInfos "に置き換えられましたが。

ただし、問題は、getFieldNamesまたは任意の getField* がIndexReaderで定義されていることです。

私は解決策を何年もオンラインで探してきました。何が欠けていますか?どうすればこれを行うことができますか?

4

1 に答える 1

2

FieldInfos はAtomicReaderでのみ使用できます。MultiFields.getMergedFieldInfosを呼び出すことにより、複合リーダーで FieldInfos ビューを取得できます。

于 2013-04-15T12:12:44.470 に答える