While trying to query a multivalued String field for multiple values, when any one value matches the score is higher for the lower value and lower for the higher. I swapped the value order and it had no affect so it isn't positional. I want the score to be the same irrespective of the value matched. I also still want the score highest when both values match. The solution has to work for 'n' values, not just two as in this example.
solr-5.1.0 <field name="userIds" type="string" indexed="true" stored="true" required="false" multiValued="true" /> Indexed data and example scores: "userIds": ["931","890"] "score": 9.600372 "userIds": ["890"] "score": 2.5523214 "userIds": ["931"] "score": 2.247865 The results for 890 and 931 need to have the same score as they each matched one query value so they will be returned mixed together. I realize they wont be randomly sorted, however if they at least have the same score I can recognize and randomize them before use. Queries: "q": "userIds:931 OR userIds:890", "fl": "*,score" The edismax and bq query has the same symptoms. "defType": "edismax", "fl": "*,score", "bq": "userIds:931 OR userIds:890" Adding boost values to the query will change the order, but still doesn't give the desired behavior of results with only one value having equal score and being mixed together in the results. "defType": "edismax", "fl": "*,score", "bq": "userIds:931^2 OR userIds:890^1" Also tried quoting the values with no effect. -Troy