How much information do you need from this document? If it's a reasonably small
amount, can you read it at the application layer and attach it as a
set of parameters
to the query that are then available to the post filter. Or is it a
huge ACL list of something....

In this latter case, if you know the URL of a shard with the doc, you
could send a query
(that you perhaps cache in your postFilter code) to that shard with
&distrib=false and
get the doc. Hmmm, I suppose if this is a well-known doc ID you don't
even have to know
what the shard is, just send the request....

BTW, there's a "userCache" that you can configure in solrconfig.xml
that you might want
to use, the advantage here is that it gets notified whenever a new
searcher is opened
so it can "do the right thing" in terms of refreshing itself.

FWIW,
Erick

On Mon, Mar 23, 2015 at 9:23 AM, Kevin Osborn
<kosb...@centraldesktop.com> wrote:
> I have created a PostFilter. PostFilter creates a DelegatingCollector,
> which provides a Lucene IndexSearcher.
>
> However, I need to query for an object that may or may not be located on
> the shard that I am filtering on.
>
> Normally, I would do something like:
>
> searcher.search(new TermQuery(new Term("field", "value").scoreDocs
>
> But this does not work across shards. So, if the document I am looking for
> is on a different shard, I get no results.
>
> Any idea how I would best do my search across all shards from within my
> plugin?

Reply via email to