如果我有以下课程,我是否会将两个字段添加到相同的name
Lucene索引中,还是会覆盖另一个?
public User {
@Field(name="name",store = Store.YES)
public String getDecoratedName() {
return name + " foobar";
}
@Field(store = Store.YES)
public String getName() {
return name;
}
}
答案 0 :(得分:1)
你会加两个。这意味着如果两个匹配中的任何一个匹配,则字段“name”上的查询将匹配。 您可能希望将它们分开,以便在查询期间灵活地选择要定位的目标:如果需要,您可以轻松地将它们作为目标。
答案 1 :(得分:1)
Lucene中的底层数据结构是一个所谓的Document,它基本上是Fieldables的列表。 Fieldable基本上是一个键/值对。您可以使用相同的密钥创建多个字段。
因此,为了回答您的问题,在您的方案中,将有两个字段都具有相同的密钥(“名称”)。当然,价值不同。