Is the order of multi-valued fields in Lucene stab

2019-06-03 17:47发布

Suppose I add several values to a Document under the same field name:

doc.Add( new Field( "tag", "one" ) );
doc.Add( new Field( "tag", "two" ) );
doc.Add( new Field( "tag", "three" ) );
doc.Add( new Field( "tag", "four" ) );

If I then later retrieve these fields from a new instance of Document (from a search result), am I guaranteed that the order of the Fields in the array will remain the same?

Field[] fields = doc.GetFields( "tag" );

Debug.Assert( fields[0].StringValue() == "one" );
Debug.Assert( fields[1].StringValue() == "two" );
Debug.Assert( fields[2].StringValue() == "three" );
Debug.Assert( fields[3].StringValue() == "four" );

1条回答
做自己的国王
2楼-- · 2019-06-03 18:34

Current code does, but states no guarantees whatsoever, so it may change at any time.

I wouldn't depend on it.

查看更多
登录 后发表回答