I forgot to mention - this is Solr 4.3 Peter
On Wed, Sep 25, 2013 at 3:38 PM, Peter Keegan <peterlkee...@gmail.com>wrote: > I'm doing a cross-core join query and the join query is 30X slower than > each of the 2 individual queries. Here are the queries: > > Main query: http://localhost:8983/solr/mainindex/select?q=title:java > QTime: 5 msec > hit count: 1000 > > Sub query: http://localhost:8983/solr/subindex/select?q=+fld1:[0.1 TO 0.3] > QTime: 4 msec > hit count: 25K > > Join query: > http://localhost:8983/solr/mainindex/select?q=title:java&fq={!joinfromIndex=mainindex > toIndex=subindex from=docid to=docid}fld1:[0.1 TO 0.3] > QTime: 160 msec > hit count: 205 > > Here are the index spec's: > > mainindex size: 117K docs, 1 segment > mainindex schema: > <field name="docid" type="int" indexed="true" stored="true" > required="true" multiValued="false" /> > <field name="title" type="text_en_splitting" indexed="true" > stored="true" multiValued="false" /> > <uniqueKey>docid</uniqueKey> > > subindex size: 117K docs, 1 segment > subindex schema: > <field name="docid" type="int" indexed="true" stored="true" > required="true" multiValued="false" /> > <field name="fld1" type="float" indexed="true" stored="true" > required="false" multiValued="false" /> > <uniqueKey>docid</uniqueKey> > > With debugQuery=true I see: > "debug":{ > "join":{ > "{!join from=docid to=docid fromIndex=subindex}fld1:[0.1 TO 0.3]":{ > "time":155, > "fromSetSize":24742, > "toSetSize":24742, > "fromTermCount":117810, > "fromTermTotalDf":117810, > "fromTermDirectCount":117810, > "fromTermHits":24742, > "fromTermHitsTotalDf":24742, > "toTermHits":24742, > "toTermHitsTotalDf":24742, > "toTermDirectCount":24627, > "smallSetsDeferred":115, > "toSetDocsAdded":24742}}, > > Via profiler and debugger, I see 150 msec spent in the outer > 'while(term!=null)' loop in: JoinQueryWeight.getDocSet(). This seems like a > lot of time to join the bitsets. Does this seem right? > > Peter > >