Hello Vijay, You can try FieldCollepsing, Join, Block-join, or just concatenate both field and search for concatenation.
On Thu, Mar 13, 2014 at 7:16 AM, Vijay Kokatnur <kokatnur.vi...@gmail.com>wrote: > Hi, > > I've inherited an Solr application with a Schema that contains parent-child > relationship. All child elements are maintained in multi-value fields. > So an Order with 3 Order lines will result in an array of size 3 in Solr, > > This worked fine as long as clients queried only on Order, but with new > requirements it is serving inaccurate results. > > Consider some orders, for example - > > > { > OrderId:123 > BookingRecordId : ["145", "987", "*234*"] > OrderLineType : ["11", "12", "*13*"] > ..... > } > { > OrderId:345 > BookingRecordId : ["945", "882", "*234*"] > OrderLineType : ["1", "12", "*11*"] > ..... > } > { > OrderId:678 > BookingRecordId : ["444"] > OrderLineType : ["11"] > ..... > } > > > If you look up for an Order with BookingRecordId: 234 And OrderLineType:11. > You will get two orders : 123 and 345, which is correct per Solr. You > have two arrays in both the orders that satisfy this condition. > > However, for OrderId:123, the value at 3rd index of OrderLineType array is > 13 and not 11( this is for BookingRecordId:145) this should be excluded. > > Per this blog : > > http://blog.griddynamics.com/2011/06/solr-experience-search-parent-child.html > > I can't use span queries as I have tons of child elements to query and I > want to keep any changes to client queries to minimum. > > So is creating multiple indexes is the only way? We have 3 Physical boxes > with SolrCloud and at some point we would like to shard. > > Appreciate any inputs. > > > Best, > > -Vijay > -- Sincerely yours Mikhail Khludnev Principal Engineer, Grid Dynamics <http://www.griddynamics.com> <mkhlud...@griddynamics.com>