首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用Pysolr进行面搜索

如何用Pysolr进行面搜索
EN

Stack Overflow用户
提问于 2018-06-06 12:14:57
回答 1查看 1.6K关注 0票数 0

当我们使用curl或urlopen和facet执行查询时,我们会得到一个嵌套字典,其中包含3个元素1. responseHeader 2.响应3. facet_counts

我想在使用Pysolr搜索时显示facet_counts。它只显示查询输出的“response”值。我正在尝试下面的代码,请帮助。

代码语言:javascript
复制
import pysolr
conn = pysolr.Solr('http://localhost:8983/solr/')
result = conn.search('enron', **{
    'fl' : 'body',
    'facet' : 'on'
})   
for r in result:
    print r
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-06 12:52:28

当您在result变量上迭代时,您将遍历pysolr自己的结果对象 (而不是直接遍历JSON结构,如Solr所示)。

代码语言:javascript
复制
import pysolr
import pprint

conn = pysolr.Solr('http://localhost:8080/solr/corename')
result = conn.search('*:*', **{
    'fl': 'content',
    'facet': 'true',
    'facet.field': 'field_name'
})   

pprint.pprint(result.facets)

任何方面都将出现在此结果对象的facets属性下。

上面的例子输出如下:

代码语言:javascript
复制
{'facet_dates': {},
 'facet_fields': {'field_name': ['value', 54439, 'value2', 21179]},
 'facet_intervals': {},
 'facet_queries': {},
 'facet_ranges': {}}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50720165

复制
相关文章

相似问题

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