0

如果我需要在单个字段名称下索引一组值,我应该使用多值字段还是应该使用单值字段并将该字段中的所有值用空格分隔?

字段类型是字符串。

谢谢。

4

1 回答 1

3

您可以将多值字段视为数组或列表...对于您的问题,这取决于您将在该字段上运行哪种操作。

如果您会经常向该字段添加一些内容,则应该使用多值字段。无需在每次添加新项目时设置单个字符串字段,您只需将其添加到多值字段即可。此外,如果您对字段进行多值处理,则在更新它时不需要知道整个列表。但是对于单个字段,您需要知道其中的旧值..

使其更清晰;

假设您需要索引“aaa bbb ccc”..如果您将它们放入单个字段中,它将类似于

<str>aaa bbb ccc</str>

如果您需要将 ddd 添加到该字段,那么您实际上需要将 aaa bbb ccc ddd 添加到该字段(我假设您不想在每次更新时检查该字段的旧值)

但是如果你使用多值字段,对于 aaa bbb ccc 它将类似于

<field><str>aaa</str><str>bbb</str><str>ccc</str></field>

对于这种情况,当您需要添加 ddd 时,您不必知道旧值,只需添加 ddd 即可完成...

但是如果该字段也将被删除,您应该使用单个字段,因为 solr 不支持从多值字段中删除(尽管您可以通过破解源代码轻松地做到这一点)

我希望它有所帮助......因为你提供的信息有点太少,无法给出明确的答案

于 2012-11-07T07:08:31.667 回答