我可以在Lucene的多个字段中共享一个值吗?

时间:2011-03-08 19:30:40

标签: lucene lucene.net

我想知道是否可以在Lucene中一次向多个字段添加一个值,这样我就不必在多个字段中复制该值并不必要地浪费空间。

例如,假设我有一本代表一本书的记录,我有几本书的摘要来源,可能是维基百科,亚马逊,国会图书馆。假设我在索引中有一个特定的字段来存储每个字段,例如: “summary.wikipedia”等。

同时我想要一个名为“summary”的通用字段名称,我可以将其设置为其中一个特定摘要,以便对索引的查询可以只搜索“摘要” “字段,而不必指定他们想要搜索的摘要。

我希望能够做的是在添加字段时指定多个字段标识符,以便可以跨这些字段共享该值,而无需复制数据并浪费空间。

E.g:

document.AddField( new string[] { "summary.wikipedia", "summary" }, "Summary of the book...", ... );

这有可能吗?或者我只需要添加两次字段,使用相同的数据但是使用不同的字段名称?

1 个答案:

答案 0 :(得分:2)

Lucene无法做到这一点。正如您在评论中所述,您始终可以将常规摘要字段设为已编制索引但未存储的字段。然后,您可以添加另一个名为“summary_source”的字段,该字段可以告诉您摘要来自哪个字段。