: Perhaps indexing nested documents ( : https://solr.apache.org/guide/solr/latest/indexing-guide/indexing-nested-documents.html) : would make it possible to do away with joins.
It can, and there are some lucene features to "diversify" the topK across the parents. If you are comfortable with writing java code, take a look at this jira... https://issues.apache.org/jira/browse/SOLR-17736 ...the linked PR is from Alessandro and proposes one way of tweaking the query parsers to deal with vectorized chunks in parent/child documents. The attached patch proposes a different way (see comments as to why i think the patch approach is better). I can tell you that the approach in the patch would be very easy to refactor into it's own subclass of AbstractVectorQParserBase that you load as a custom plugin in Solr, because I originally wrote it as custom plugin (that my internal users seem happy with) and then refactored it when submitting that patch. : I haven't tested it yet because it would require a compromise: reindexing : documents whenever their chunks change (which isn't necessary at the moment : with my approach). But if it eliminates joins, it could be an interesting : option. that is the big challenge with parent/child documents -- there are many caveats you have to be careful of when dealing with index changes.... https://solr.apache.org/guide/solr/latest/indexing-guide/indexing-nested-documents.html -Hoss http://www.lucidworks.com/