Python 如何在PySolr-can';似乎没有什么结果可以显示出来

Python 如何在PySolr-can';似乎没有什么结果可以显示出来,python,solr,pysolr,Python,Solr,Pysolr,(我见过类似的问题——但似乎无法解决以下问题不起作用的原因!) 您好,我有一个正在运行的solr本地实例,并进行了以下调用(通过浏览器中的url框): 并获得以下结果(参见结果1)。然后,我尝试使用Python/PySolr的等效方法: solr = pysolr.Solr('http://localhost:8983/solr/', timeout=10) params = { 'facet': 'true', 'facet.field': 'q_date', 'rows': '

(我见过类似的问题——但似乎无法解决以下问题不起作用的原因!)

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

并获得以下结果(参见结果1)。然后,我尝试使用Python/PySolr的等效方法:

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个结果)-但在这两种情况下,我似乎都没有得到任何方面

有什么办法可以解决这个问题吗?在我弄明白这一点之后,我还希望使用StatComponent特性(例如&stats=true&stats.field=q_)

提前谢谢

结果1:

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

0
2.
真的
视频
q_日期
0
135
121
113
112
107
82

根据中的facet示例,您需要将
facet
参数的值设置为“开”。如下图所示:

solr = pysolr.Solr('http://localhost:8983/solr/', timeout=10)`

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

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

您如何尝试访问结果对象上的面?您如何尝试读取面???results.get('facet_counts')???尝试遍历results对象,但len(results)为0,因此没有项。太棒了!我到处找这个。谢谢。:)
solr = pysolr.Solr('http://localhost:8983/solr/', timeout=10)`

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

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