If I understand your problem correctly, then you don't want the most
frequently used fqs removed and you do not want your filter cache to grow
to very large sizes.
Well there is already a solution for both of these.
In the solrconfig.xml file, you can configure the <filterCache> parameter
to suit your needs.
a) Use the LeastFrequentlyUsed or LFU eviction policy.
b) Set the size to whatever number of fqs you find suitable.
You can do this like so:
<filterCache class="solr.LFUCache" size="100" initialSize="10"
autoWarmCount="10"/>
You should play around with these parameters to find the best combination
for your implementation.
For more details take a look here:
https://wiki.apache.org/solr/SolrCaching
http://yonik.com/advanced-filter-caching-in-solr/


On Tue, Jan 5, 2016 at 7:28 PM Matteo Grolla <matteo.gro...@gmail.com>
wrote:

> Hi,
>     after looking at the presentation of cloudsearch from lucene revolution
> 2014
>
> https://www.youtube.com/watch?v=RI1x0d-yO8A&list=PLU6n9Voqu_1FM8nmVwiWWDRtsEjlPqhgP&index=49
> min 17:08
>
> I recognized I'd love to be able to remove the burden of disabling filter
> query caching from developers
>
> the problem:
> Solr by default caches filter queries
> a) When there are filter queries that are not reused and few that are the
> good ones get evicted unnecessarily
> b) if the same query has multiple filter queries that are very selective I
> noticed a big performance disabling cache
> c) I'd like to spare developers from deciding what has to be cached or not
>
> the question:
> -Is there anything already working to solve those problems?
>
> what do you think about this?
> -I was thinking to write a plugin to recognize query types with regular
> exception and let solr admins associate a caching behaviour with each query
> type
> -another idea was to
>    -by default set fq caching off
>    -keep statistics about fq
>    -enable caching only for the N fq with highest hit ratio
>
-- 
Regards,
Binoy Dalal

Reply via email to