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