recent wiki updates have be looking at UnInvertedField for the first time
(i haven't been very good at keeping up with commits the last few months)
and i'm wondering about the use of a "static Cache multiValuedFieldCache"
keyed off of SolrIndexSearcher.
Lucene-Java is trying to move away from this pattern in FieldCache, and in
Solr we already have a nice and robust cache mechanism on each
SolrIndexSearcher -- that includes the possibility of doing auto-warming
via regenerators -- so why don't we suse that for UnInvertedField?
suggested changes...
1) add a new "special" (as opposed to "user") SolrCache instance named
"facetCache" to SolrIndexSearcher (just like filterCache and
queryResultCache) where the key is a field name and the value is an
UnInvertedField instance.
2) I think the way the "special" caches are
initialized they eist with defaults even if they aren't declared in
solrconfig.xml, but if i'm wrong we should consier making facetCache work
that way.
2) add a regenerator for facetCache (relatively trivial)
3) remove all of the static cashing code from UnInvertedField
thoughts?
-Hoss
|