知道在 pysolr 中设置 q.op 吗?

Any idea to set q.op in pysolr?

以下代码不起作用....有什么想法吗?谢谢。 找不到任何关于它的参考...

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.datetimesolr.search() 等)。

您可以通过将属性作为扩展为搜索函数参数的字典提供来解决此问题:

results = solr.search(q=q, **{
            'q.op': 'AND'
          })

relevant code from pysolr:

"""
# Search with highlighting.
results = solr.search('ponies', **{
        'hl': 'true',
        'hl.fragsize': 10,
    })
"""

params = {'q': q}
params.update(kwargs)