Lucene 4 - 从目录中获取所有使用的字段

时间:2013-04-19 09:20:41

标签: lucene

我试图用Lucene 4索引数据库表。我将表条目的所有字段作为TextField(每个表条目1个文档)索引到文档中,然后尝试搜索目录。

所以我的问题是,我需要目录中的所有字段名称才能使用MultiFieldQuery。

QueryParser parser = new MultiFieldQueryParser(Version.LUCENE_42, !FIELDS! , analyzer);

我如何得到它们?我可以在编制索引时将它们保存起来,但使用索引记录它们并不是非常高效:/

谢谢 亚历克斯

1 个答案:

答案 0 :(得分:3)

您可以从AtomicReader.getFieldInfos()获取字段名。

这将传回FieldInfos个实例。循环遍历FieldInfos.iterator(),并从FieldInfo.name

获取字段名称

我不明白为什么不提前把它们存放在某个地方是不合适的。