On Thu, May 15, 2014 at 10:29 AM, danny teichthal <dannyt...@gmail.com> wrote: > I wonder about performance difference of 2 indexing options: 1- multivalued > field 2- separate fields > > The case is as follows: Each document has 100 “properties”: prop1..prop100. > The values are strings and there is no relation between different > properties. I would like to search by exact match on several properties by > known values (like ids). For example: search for all docs having > prop1=”blue” and prop6=”high” > > I can choose to build the indexes in 1 of 2 ways: 1- the trivial way – 100 > separate fields, 1 for each property, multiValued=false. the values are > just property values. 2- 1 field (named “properties”) multiValued=true. The > field will have 100 values: value1=”prop1:blue”.. value6=”high” etc > > Is it correct to say that option1 will have much better performance in > searching? How about indexing performance?
For straight exact-match searching (matching properties) there should be no difference. A single field should be slightly faster at indexing. If you need fast numeric range queries, faceting, or sortong on any properties, you would want those as separate fields. -Yonik http://heliosearch.org - facet functions, subfacets, off-heap filters&fieldcache