我有一个索引的多值字段。如果我添加一个并行的多值字段,它是可靠的有相同的顺序?
考虑这个CSV和分隔符|
:
ID,Name,Number
988,Sixth|Second|Third,6|2|3
989,Fifth|Fourth|First,5|4|1
如果我通过id
(不是搜索)获得记录,我可以确定两个字段的数组始终处于原始匹配顺序吗?
{
"doc":
{
"ID":988,
"Name":["Sixth",
"Second",
"Third"]},
"Number":[6,
2,
3]}}
是的,顺序是确定的和稳定的。您可以放心地假设多值字段的序列保持完整。在邮件列表中详细说明这一点的帖子已经消失了。
不保证字段的排序-即"Number"可以出现在& Name"之前,但在字段内部(多值部分),值将以与索引相同的顺序返回。
自2008年以来,我们一直在Solr上运行依赖于此行为的应用程序,并且从未出现过问题。
如果有许多字段,您需要知道一个字段中的[0]对应于另一个字段中的[0]等,那么将结构的JSON表示添加为仅存储(未索引等)的JSON表示作为字段并仅索引其他字段(而不存储它们)可能更有用,以使应用程序级代码更简单。