Lucene のフィールドを使用してセクション (ドキュメントのマークアップで指定) ごとに Lucene (Pylucene を使用) でインデックスを作成したデータベースがあります。このインデックスはうまく機能しているようです。ドキュメント全体であるデフォルトのフィールドを使用して検索し、妥当な結果を得ることができます。
問題は、特定のセクション (デフォルトではない) を使用して検索すると、特定の数の結果が返されることを期待していますが (で指定されているようにIndexSearcher.search(query, results)
)、代わりに何も返されない可能性があることです。だから私の質問は、指定した結果の数でランク付けされたリストを返すにはどうすればよいですか?
フィールドを指定する唯一の場所は、QueryParser で次のように呼び出します。
QueryParser(Version.LUCENE_CURRENT, field, StandardAnalyzer)