Hi all, This is working fine for me, searching for 'charlie': $ curl http://localhost:8983/solr/dorsetdata/query -d ' q={!parent which="content_type:parentDocument" score=total} type:page AND charlie &wt=json &rows=2 &debugQuery=true &fl=score,[child parentFilter=content_type:parentDocument childFilter=charlie],*,[docid]'
I would like to put conditions on the parent document, so I tried this, adding ' AND lang:eng': $ curl http://localhost:8983/solr/dorsetdata/query -d ' q={!parent which="content_type:parentDocument AND lang:eng" score=total} type:page AND charlie &wt=json &rows=2 &debugQuery=true &fl=score,[child parentFilter=content_type:parentDocument childFilter=charlie],*,[docid]' I got a Java exception. Maybe there is a syntax problem, or maybe it is not possible? 5.4 Schemaless Thanks Rick "msg":"child query must only match non-parent docs, but parent docID=2147483647 matched childScorer=class org.apache.lucene.search.ConjunctionScorer", "java.lang.IllegalStateException: child query must only match non-parent docs, but parent docID=2147483647 matched childScorer=class org.apache.lucene.search.ConjunctionScorer at org.apache.lucene.search.join.ToParentBlockJoinQuery$BlockJoinScorer.nextDoc(ToParentBlockJoinQuery.java:311) at org.apache.lucene.search.Weight$DefaultBulkScorer.scoreAll(Weight.java:216) at org.apache.lucene.search.Weight$DefaultBulkScorer.score(Weight.java:169) at org.apache.lucene.search.BulkScorer.score(BulkScorer.java:39) at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:821) at org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:535) at org.apache.solr.search.SolrIndexSearcher.buildAndRunCollectorChain(SolrIndexSearcher.java:202) at org.apache.solr.search.SolrIndexSearcher.getDocListNC(SolrIndexSearcher.java:1672) For the working query the debug is "debug":{ "rawquerystring":"{!parent which=\"content_type:parentDocument\" score=total} type:page AND charlie", "querystring":"{!parent which=\"content_type:parentDocument\" score=total} type:page AND charlie", "parsedquery":"ToParentBlockJoinQuery(ToParentBlockJoinQuery (+type:page +_text_:charlie))", "parsedquery_toString":"ToParentBlockJoinQuery (+type:page +_text_:charlie)", "explain":{ "76039":"\n6.8171363 = Score based on child doc range from 3299331 to 3299911\n", "78579":"\n6.613722 = Score based on child doc range from 3356914 to 3357359\n"}, "QParser":"BlockJoinParentQParser",