Chuck Williams wrote:
This is a nice solution!  By having MultiSearcher create the Weight, it
can pass itself in as the searcher, thereby allowing the correct
docFreq() method to be called.

Glad to hear it at least makes sense... Now I hope it works!

I'm still left wondering if having MultiSearcher query all the
RemoteSearchable's on every call to docFreq() within each TermQuery,
PhraseQuery, SpanQuery and PhrasePrefixQuery is the way to go long term,
although it seems like the best thing to do right now.  The calls only
happen when the Weight's are created, so maybe it's not too bad.  Longer
term, it might be better to distribute the idf information out to the
RemoteSearchable's to minimize the required number of remote accesses
for each Query.

I'm not sure exactly what you mean by "distribute the idf information out to the RemoteSearchable". I think one might profitably implement a docFreq() cache in RemoteSearchable. This could be a simple cache, or it could be fairly agressive, pre-fetching all the docFreqs. (As an optimization, it could only pre-fetch those greater than 1, and, when a term is not in the cache, assume its docFreq is 1. As a lossy optimization, it could only pre-fetch those greater than N, and somehow estimate those not in the cache.) Is that what you meant?


Doug

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to