以下代码不起作用....有什么想法吗?谢谢。找不到任何关于它的参考...
import pysolr
....
self.solr = pysolr.Solr(solr_url, timeout=20)
docs = self.solr.search(q=q, q.op =q_op)
我可以只使用 self.solr.search(q=q, op =q_op) 吗?
您不能.
在 python 中直接在参数中使用名称,因为它们表示对象引用(即datetime.datetime
,solr.search()
等)。
您可以通过将属性作为字典来解决此问题,该字典扩展为搜索函数的参数:
results = solr.search(q=q, **{
'q.op': 'AND'
})
来自 pysolr的相关代码:
"""
# Search with highlighting.
results = solr.search('ponies', **{
'hl': 'true',
'hl.fragsize': 10,
})
"""
params = {'q': q}
params.update(kwargs)