Hi all,

short version: same data, same config, same query for a parent record whose child has "whelan school".

Solr 8.11 returns one correct hit.

Solr 9.10 returns 2 hist: the correct one *and* the wrong one.

What gives?

Details:

the setup is textbook with ids like "PARENTID!CHILDID", _nest_path_ and _nest_parent_, plus an explicit boolean "is_child" field.

V8

{
  "responseHeader":{
    "status":0,
    "QTime":27,
    "params":{
      "q":"{!parent which=\"record_type:LocalHistori* AND is_child:false\"}( 
_text_:\"whelan school\")",
      "fl":"*,[child]",
      "debugQuery":"true"}},
  "response":{"numFound":1,"start":0,"numFoundExact":true,"docs":[
      {
        "id":"LHS12",
...
  "debug":{
    "rawquerystring":"{!parent which=\"record_type:LocalHistori* AND is_child:false\"}( 
_text_:\"whelan school\")",
    "querystring":"{!parent which=\"record_type:LocalHistori* AND is_child:false\"}( 
_text_:\"whelan school\")",
    "parsedquery":"AllParentsAware(ToParentBlockJoinQuery (+_text_:\"whelan 
school\"))",
    "parsedquery_toString":"ToParentBlockJoinQuery (+_text_:\"whelan school\")",
    "explain":{
      "LHS12":"\n0.0 = Score based on 1 child docs in range from 2449414 to 2449420, best 
match:\n  0.0 = ConstantScore(_text_:\"whelan school\")^0.0\n"},

V9

{
  "responseHeader":{
    "zkConnected":true,
    "status":0,
    "QTime":20075,
    "params":{
      "q":"{!parent which=\"record_type:LocalHistori* AND is_child:false\"}( 
_text_:\"whelan school\")",
      "fl":"*,[child]",
      "debugQuery":"true"
    }
  },
  "response":{
    "numFound":2,
    "start":0,
    "numFoundExact":true,
    "docs":[{
      "id":"LHS285",


 "debug":{
    "rawquerystring":"{!parent which=\"record_type:LocalHistori* AND is_child:false\"}( 
_text_:\"whelan school\")",
    "querystring":"{!parent which=\"record_type:LocalHistori* AND is_child:false\"}( 
_text_:\"whelan school\")",
    "parsedquery":"AllParentsAware(ToParentBlockJoinQuery (+_text_:\"whelan 
school\"))",
    "parsedquery_toString":"ToParentBlockJoinQuery (+_text_:\"whelan school\")",
    "explain":{
      "LHS285":"\n0.0 = Score based on 1 child docs in range from 0 to 1696831, using score 
mode None\n  0.0 = ConstantScore(_text_:\"whelan school\")^0.0\n",
      "LHS12":"\n0.0 = Score based on 1 child docs in range from 1697082 to 1697087, using 
score mode None\n  0.0 = ConstantScore(_text_:\"whelan school\")^0.0\n"
    },

LHS285 has no child docs. At all. So why is v.9 matching one?

Any ideas?

Dima

Reply via email to