首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在PySolr中使用facet --似乎无法显示facet结果

如何在PySolr中使用facet --似乎无法显示facet结果
EN

Stack Overflow用户
提问于 2013-09-09 18:10:11
回答 1查看 2.8K关注 0票数 4

(我见过类似的问题-但似乎无法解决为什么下面这些问题不起作用!)

嗨,我有一个正在运行的solr本地实例,并进行以下调用(通过浏览器中的url框):

代码语言:javascript
复制
http://localhost:8983/solr/select?q=video&rows=0&facet=true&facet.field=q_date

并得到下面的结果(见结果1)。然后,我尝试了Python/PySolr的等价方法:

代码语言:javascript
复制
solr = pysolr.Solr('http://localhost:8983/solr/', timeout=10)

params = {
  'facet': 'true',
  'facet.field': 'q_date',
  'rows': '0',
}

results = solr.search('video', **params)

而且似乎没有得到任何结果(如果我做了“行”:10,那么我得到了10个结果)--但在这两种情况下,我似乎没有得到任何方面。

有什么办法绕过这件事吗?在我弄清楚这一点之后,我也希望使用StatsComponent特性(例如&stats=true&stats.field=q_visits)。

提前感谢

结果1:

代码语言:javascript
复制
<response>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">2</int>
<lst name="params">
<str name="facet">true</str>
<str name="q">video</str>
<str name="facet.field">q_date</str>
<str name="rows">0</str>
</lst>
</lst>
<result name="response" numFound="670" start="0"/>
<lst name="facet_counts">
<lst name="facet_queries"/>
<lst name="facet_fields">
<lst name="q_date">
<int name="2013-03-31T00:00:00Z">135</int>
<int name="2013-01-31T00:00:00Z">121</int>
<int name="2012-10-31T00:00:00Z">113</int>
<int name="2013-02-28T00:00:00Z">112</int>
<int name="2012-11-30T00:00:00Z">107</int>
<int name="2012-12-31T00:00:00Z">82</int>
</lst>
</lst>
<lst name="facet_dates"/>
<lst name="facet_ranges"/>
</lst>
</response>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-09 19:33:47

根据pysolr客户端测试中的facet示例,需要将facet参数的值设置为“on”。如下所示:

代码语言:javascript
复制
solr = pysolr.Solr('http://localhost:8983/solr/', timeout=10)`

params = {
  'facet': 'on',
  'facet.field': 'q_date',
  'rows': '0',
}

results = solr.search('video', **params)
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18704339

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档