我试图用Lucene 4索引数据库表。我将表条目的所有字段作为TextField(每个表条目1个文档)索引到文档中,然后尝试搜索目录。
所以我的问题是,我需要目录中的所有字段名称才能使用MultiFieldQuery。
QueryParser parser = new MultiFieldQueryParser(Version.LUCENE_42, !FIELDS! , analyzer);
我如何得到它们?我可以在编制索引时将它们保存起来,但使用索引记录它们并不是非常高效:/
谢谢 亚历克斯
答案 0 :(得分:3)
您可以从AtomicReader.getFieldInfos()
获取字段名。
这将传回FieldInfos
个实例。循环遍历FieldInfos.iterator()
,并从FieldInfo.name
我不明白为什么不提前把它们存放在某个地方是不合适的。