【问题标题】:Any idea to set q.op in pysolr?在 pysolr 中设置 q.op 有什么想法吗?
【发布时间】:2017-09-05 06:53:03
【问题描述】:

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

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


【解决方案1】:

您不能在 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)

【讨论】:

    猜你喜欢
    • 2020-07-16
    • 2013-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-20
    • 2016-08-05
    • 2017-07-19
    相关资源
    最近更新 更多