我在我正在处理的代码库中发现,在创建 lucene Document 时,相同的字段名称多次用于不同的值(术语)。
doc.add(new Field("sameName", value1, store, index));
doc.add(new Field("sameName", value2, store, index));
...
doc.add(new Field("sameName", value3, store, index));
这是正确的吗?它有什么用?
然后在搜索过程中使用此字段的名称:
QueryParser parser = new QueryParser(Version.LUCENE_40, "sameName", new StandardAnalyzer(
Version.LUCENE_40));
尽管文档中有许多其他字段,但似乎在搜索过程中只使用了“sameName”字段。对我来说很奇怪。是否有意义?