2017-09-05 76 views
0

下面的代碼不起作用....任何想法?謝謝。 找不到任何關於它的參考...任何想法在pysolr中設置q.op?

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

+0

什麼樣的異常你有? – Mysterion

回答

1

您不能直接在Python中使用參數.的名稱,因爲它們表示對象引用(即datetime.datetime,solr.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) 
+0

謝謝。它解決了我的問題。 –