: But somehow this "add an additional parameter everywhere" doesn't sound

it's certianly not a pretty solution, it's just the most general one i
could think of at the time.

: right.  I wish I could write my own WeightedSolrIndexSearcher that
: extends SolrSearcher and call some hook methods from SolrIndexSearcher
: to hook into caching (both get and set).

writing your own subclass wouldn't hard ... what would be tricky is making
sure your subclass is used whenever anyone does a search, and more
importantly (since you want to take advantage of the caching) making sure
that openining a new reader results in your class being instantiated and
used to warm the caches.

if you're willing to say that you only care about your
WeightedSolrIndexSearcher being used in custom request handlers where you
specificly refer to it (and things like StandardRequestHandler will
continue to use SolrIndexSearcher) then you could make
WeightedSolrIndexSearcher be a proxy class that wraps a
SolrIndexSearcher but uses it's own specially named caches (instead of
hte default filterCache and queryResultCache) and have CacheRegenerators
configured for them that know to wrap each newSearcher in a
WeightedSolrIndexSearcher before autowarming.  then all that's left to do
is make your custom request handlers wrap the searcher associated with
each request in an instance of WeightedSolrIndexSearcher as well.


-Hoss

Reply via email to