python-如何在PySolr中使用构面-似乎无法显示构面结果

(我已经看到了与此类似的问题-但似乎无法解决以下原因为何不起作用!)

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

http://localhost:8983/solr/select?q=video&rows=0&facet=true&facet.field=q_date

并获得以下结果(请参见结果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)

而且似乎没有任何结果(如果我做“ rows”:10,那么我得到10个结果)-但无论哪种情况,我似乎都没有任何方面.

任何想法如何解决这个问题?在弄清楚这一点之后,我还希望使用StatsComponent功能(例如& stats = true& stats.field = q_visits)

提前致谢

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

解决方法:

根据pysolr client tests中的构面示例,您需要将构面参数的值设置为“ on”.如下所示:

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

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

results = solr.search('video', **params)
上一篇:SOLR 6.2忽略堆设置(SOLR_JAVA_MEM参数)


下一篇:java-如何使用spring数据solr在solr中插入嵌套文档?