我想知道是否可以在Lucene中一次向多个字段添加一个值,这样我就不必在多个字段中复制该值并不必要地浪费空间。
例如,假设我有一本代表一本书的记录,我有几本书的摘要来源,可能是维基百科,亚马逊,国会图书馆。假设我在索引中有一个特定的字段来存储每个字段,例如: “summary.wikipedia”等。
同时我想要一个名为“summary”的通用字段名称,我可以将其设置为其中一个特定摘要,以便对索引的查询可以只搜索“摘要” “字段,而不必指定他们想要搜索的摘要。
我希望能够做的是在添加字段时指定多个字段标识符,以便可以跨这些字段共享该值,而无需复制数据并浪费空间。
E.g:
document.AddField( new string[] { "summary.wikipedia", "summary" }, "Summary of the book...", ... );
这有可能吗?或者我只需要添加两次字段,使用相同的数据但是使用不同的字段名称?
答案 0 :(得分:2)
Lucene无法做到这一点。正如您在评论中所述,您始终可以将常规摘要字段设为已编制索引但未存储的字段。然后,您可以添加另一个名为“summary_source”的字段,该字段可以告诉您摘要来自哪个字段。