【问题标题】:Faceted search querying from cache从缓存中查询分面搜索
【发布时间】:2014-08-12 22:11:27
【问题描述】:

我有一个关于分面搜索中流程是如何发生的一般性问题。

1.假设我发出一个分面查询搜索,如下所示 -

 /solr/query?q=camera
      &facet=on
      &facet.field=manu
      &facet.field=camera_type
      &facet.query=price:[* TO 100]
      &facet.query=price:[100 TO 200]
      &facet.query=[price:200 TO 300]
      &facet.query=price:[300 TO 400]
      &facet.query=[price:400 TO 500]
      &facet.query=price:[500 TO *]

2.现在,我想根据以下查询过滤结果...

/solr/query?q=camera
  &facet=on&facet.field=manu&facet.field=camera_type
  &fq=price:[400 to 500]

一切正常。 IE;最后一个查询是根据第一个查询的结果执行的..

以下情况会发生什么?

  1. 当我运行一个简单的“全选”查询时 -

    /solr/collection1/select?q=%3A%0A&wt=json&indent=true&facet=true

  2. 然后对分面查询运行过滤器 -

    /solr/query?q=相机 &facet=on&facet.field=manu &fq=价格:[400 到 500] &fq=camera_type:单反

“全选”会破坏缓存的查询吗?那么,下一个分面查询(camera_type:SLR)将无法针对过滤器缓存运行?

【问题讨论】:

    标签: solr


    【解决方案1】:

    不,全选不会破坏您的 filterCache。

    filterCache 将存储您的过滤器查询,您可以使用“size”属性设置要在 filterCache 中存储多少项目。

    在上面的示例中,您的过滤器查询将被缓存,它们将根据您的缓存大小和缓存实现(可以是 LRUCache、FastLRUCache 或 LFUCache)被删除。

    详情请看这里: https://wiki.apache.org/solr/SolrCaching#filterCache

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-02
      • 1970-01-01
      • 2014-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-21
      • 2011-11-04
      相关资源
      最近更新 更多