[lucene] 关于Filter,一些疑问

osborn 2010-10-15
接触lucene时间不长,对filter的功能一直不太理解。
在我目前的理解看,filter主要是用来做二次搜索的,将上一次搜素的结果缓存,作为数据源进行后续的搜索……

但是不太明白,这个缓存是如何生效的?看一些例子里的做法,是在下一次搜索时新建一个query,条件和上一次搜索的query一样,并把这个query变为filter,那就能直接找到上一次搜索的缓存了吗?如果多次进行“在结果中搜索”的操作,那这中间每一步的结果都会被缓存吗?如果多个用户进行这个操作,是每个用户建立单独的缓存,还是只要query的内容一样,都使用相同的缓存呢?

还有,这个filter的缓存是放在什么地方的?用多少次会失效?如果我想用memcached装这个缓存,一般要怎么做?

以前用lucene的时候,没太关注filter的事情,因为我那里的应用,使用二次搜索的情况并不多,而且搜索的内容也很离散,我是直接把新旧条件拼到一块作为新搜索去搜的……

大家都是怎样用filter的呢?还望指点迷津,谢谢~~
Global site tag (gtag.js) - Google Analytics