This is in 8.11.1. I've got the following (parsed) query that returns no results: { "q":"{!parent tag=top filters=$childFq which=scope_s:parent v=$childQuery}", "json.facet":"{colors:{ domain: { excludeTags:top, filter:[\"{!filters param=$childFq excludeTags=color v=$childQuery}\", \"{!child of=scope_s:parent filters=$fq}scope_s:parent\"] }, type:terms, field:color_ids_ss, limit:-1, facet:{ parentsCount:\"uniqueBlock(_root_)\" } }}", "fl":"id", "edisQ":"XXXXX", "fq":["available_catalog140002_b:true", "{!edismax tag=top qf=\"name_t^6 name_s^10 studio_t^2 series_t categories_catalog140002_txt ancestor_categories_catalog140002_txt features_txt selling_points_txt\" pf=\"name_t^6 studio_t^2 series_t^2 categories_catalog140002_txt^2 ancestor_categories_catalog140002_txt^2 features_txt selling_points_txt\" mm=\"2<-1 4<60%\" tie=\"0.1\" v=$edisQ}"], "rows":"28", "childFq":["available_catalog140002_b:true", "-sku_type_s:25"], "childQuery":"scope_s:child"} }
If I take out childFq=-sku_type_s:25, it works. If I change it to childFq=sku_type_s:21, it works. I tried integer fields originally, and thought that maybe the problem was not being able to negate a filter on an integer, but changing to string did not fix it. I'm stumped finding an explanation for this, but I have also found no examples online that combine real complexity with block join query parsing. Any suggestions on what I am doing wrong?