I need the documents in order, so FilterCache is no use. Moreover, I already use lots of the filtercache for other fq-queries. About 99% of the 6000 fields I mentioned have there values seperately in the filtercache. There must be room for optimization there, but that's a different story ;-)
//Geert-Jan Lance Norskog wrote: > > You could make these filter queries. Filters are a separate cache and as > long as you have more cache than queries they will remain pinned in RAM. > Your code has to remember these special queries in special-case code, and > create dummy query strings to fetch the filter query. "field:[* TO *]" > will > do nicely. > > Cheers, > > Lance Norskog > > -----Original Message----- > From: Britske [mailto:[EMAIL PROTECTED] > Sent: Thursday, October 04, 2007 1:38 PM > To: solr-user@lucene.apache.org > Subject: Re: how to make sure a particular query is ALWAYS cached > > > > hossman wrote: >> >> >> : I want a couple of costly queries to be cached at all times in the >> : queryResultCache. (unless I have a new searcher of course) >> >> first off: you can ensure that certain queries are in the cache, even >> if there is a newSearcher, just configure a newSearcher Event Listener >> that forcibly warms the queries you care about. >> >> (this is particularly handy to ensure FieldCache gets populated before >> any user queries are processed) >> >> Second: if i understand correctly, you want a way to put an object in >> the cache, and garuntee that it's always in the cache, even if other >> objects are more frequetnly used or more recently used? >> >> that's kind of a weird use case ... can you elaborate a little more on >> what exactly your end goal is? >> >> > > Sure. Actually i got the idea of another thread posted by Thomas to which > you gave a reply a few days ago: > http://www.nabble.com/Result-grouping-options-tf4522284.html#a12900630. > I quote the relevant bits below, although I think you remember: > > > hossman wrote: >> >> : Is it possible to use faceting to not only get the facet count but >> also the >> : top-n documents for every facet >> : directly? If not, how hard would it be to implement this as an >> extension? >> >> not hard ... a custom request handler could subclass >> StandardRequestHandler, call super.handleRequest, and then pull the >> field faceting info out of the response object, and fetch a DocList >> for each of the top N field constraints. >> > > I have about a dozen queries that I want to have permanently cached, each > corresponding to a particular navigation page. Each of these pages has up > to > about 10 top-N lists which are populated as discussed above. These lists > are > pretty static (updated once a day, together with the index). > > The above would enable me to populate all the lists on a single page in 1 > pass. Correct? > Although I haven't tried yet, I can't imagine that this request returns in > sub-zero seconds, which is what I want (having a index of about 1M docs > with > 6000 fields/ doc and about 10 complex facetqueries / request). > > The navigation-pages are pretty important for, eh well navigation ;-) and > although I can rely on frequent access of these pages most of the time, it > is not guarenteed (so neither is the caching) > > > hossman wrote: >> >> the most straightforward approach i can think of would be a new cache >> implementation that "permenantly" stores the first N items you put in it. >> that in combination with the newSearcher warming i described above >> should work. >> >> : 1. use User/Generic-cache. This would result in seperate coding-path >> in >> : application which I would like to avoid. >> : 2. exend LRU-cache, and extend request-handler so that a query can >> be >> : extended with a parameter indicating that it should be cached at all >> times. >> : However, this seems like a lot of cluttering-up these interfaces, >> for a >> : relatively small change. >> >> #1 wouldn't really accomplish what you want without #2 as well. >> >> >> >> -Hoss >> >> >> > > regarding #1. > Wouldn't making a user-cache for the sole-purpose of storing these queries > be enough? I could then reference this user-cache by name, and extract the > correct queryresult. (at least that's how I read the documentation, I have > no previous experience with the user-cache mechanism). In that case I > don't > need #2 right? Or is this for another reason not a good way to handle > things? > > //Geert-Jan > > -- > View this message in context: > http://www.nabble.com/how-to-make-sure-a-particular-query-is-ALWAYS-cached-t > f4566711.html#a13048285 > Sent from the Solr - User mailing list archive at Nabble.com. > > > -- View this message in context: http://www.nabble.com/how-to-make-sure-a-particular-query-is-ALWAYS-cached-tf4566711.html#a13050087 Sent from the Solr - User mailing list archive at Nabble.com.