In short, when running a distributed search every shard runs the query
separately. Each shard's collector returns the topN (rows param) internal
docId's of the matching documents.

These topN docId's are converted to their uniqueKey in the
BinaryResponseWriter and sent to the frontend core (the one the received
the query). This conversion is implemented by a StoredFieldVisitor, meaning
the uniqueKeys are read from their stored field and not from their
docValues.

As in our use-case we have a high row param, these conversions became a
performance bottleneck. We implemented a user-cache that stores the shard's
uniqueKey docValues, which is a [docId, uniqueKey] mapping. This eliminates
the need of accessing the stored field for these frequent conversions.

You can have a look at the patch. Feel free commenting
https://issues.apache.org/jira/browse/SOLR-5478

Best,
Manuel


On Thu, Jan 9, 2014 at 7:33 PM, ku3ia <dem...@gmail.com> wrote:

> Today I setup a simple SolrCloud with tow shards. Seems the same. When I'm
> debugging a distributed search I can't catch a break-point at lucene codec
> file, but when I'm using faceted search everything looks fine - debugger
> stops.
>
> Can anyone help me with my question? Thanks.
>
>
>
> --
> View this message in context:
> http://lucene.472066.n3.nabble.com/Solr-4-6-0-DocValues-distributed-search-tp4110289p4110511.html
> Sent from the Solr - User mailing list archive at Nabble.com.
>

Reply via email to