Solr Facet查询结果缓存

时间:2014-05-12 12:40:15

标签: php solr search-engine taxonomy faceted-search

我有一个使用Nutch和Solr运行的医学术语的搜索引擎,它使用PHP前端。与搜索结果一起,它将显示数千个预定义术语的标记计数,通过solr facet查询将所有术语传递给solr来检索标记结果。

如何在solr中添加所有这些术语,而不是每次都通过查询,然后得到搜索结果中每个术语的构面计数。我检索构面计数的部分查询如下:

FL =内容,URL&安培;小面=真安培; facet.field =宿主安培; facet.zeros =假安培; facet.query =含量:辉瑞&安培; facet.query =含量:Teva公司&安培; facet.query =含量:Genentech公司&安培;面.query =含量:阿伯特&安培; facet.query =含量:以便秘&安培; facet.query =含量:患便秘&安培; facet.query =含量:便秘&安培; facet.query =含量:Constipates&安培; facet.query =含量:以便秘&安培; facet.query =含量:腹泻&安培; facet.query =含量:抑郁症和安培; facet.query =含量:凹陷&安培; facet.query =含量:沮丧&安培; facet.query =含量:哀伤&安培; facet.query =含量:抽筋&安培; facet.query =含量:咳嗽&安培; facet.query =含量:Xyrem&安培; facet.query =含量:阿立&安培; facet.query =含量:二甲双胍&安培; facet.query =含量:阿瓦斯丁'

提前致谢。

1 个答案:

答案 0 :(得分:0)

这里可以做的最多是将查询减少到以下内容。

...
facet.query = content: [OR Pfizer Teva Genentech Abbot ... Avastin]
...

或者,您可以使用“facet.method = enum”,根据该字段,将返回所有值的facet。

我在Solr中找不到其他方法,您可以使用键或标记将“查询变量”本身保存在缓存中。然而,Solr将LocalParams称为“标签”,“前”和“密钥”,但它们不符合您的要求。

参考文献:

  1. http://solr.pl/en/2010/12/06/faceting-eliminowanie-filtrow-i-jak-z-tego-skorzystac/
  2. http://wiki.apache.org/solr/SimpleFacetParameters
  3. http://wiki.apache.org/solr/SolrFacetingOverview