2014-05-12 129 views
0

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

如何在solr中添加所有这些术语而不必每次都通过查询传递这些术语,然后获取搜索结果中每个术语的方面数。我的查询检索方面计数的一部分下面给出:

FL =内容,URL &面=真& facet.field =主机& facet.zeros =假& facet.query =内容:辉瑞& facet.query =内容:Teva公司& facet.query =含量:基因泰克& facet.query =含量:阿伯特& facet.query =含量:以便秘& facet.query =含量:患便秘& facet.query =含量:便秘& facet.query =内容:便秘& facet.query = content:便秘& facet.query = content:腹泻& facet.query =含量:抑郁症& facet.query =含量:凹陷& facet.query =含量:沮丧& facet.query =含量:哀伤& facet.query =含量:抽筋& facet.query =含量:咳嗽&面.query =含量:Xyrem & facet.query =含量:阿立& facet.query =含量:二甲双胍& facet.query =含量:阿瓦斯丁

预先感谢。

回答

0

这里可以做的最多的事情是将您的查询降低到以下。

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

或者,你可以使用“facet.method =枚举”,其中基于现场,将返回所有值方面。

我在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