0

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

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) 吗?

4

1 回答 1

2

您不能.在 python 中直接在参数中使用名称,因为它们表示对象引用(即datetime.datetimesolr.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)
于 2017-09-05T07:18:38.673 回答