2017-09-05 2 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, 영업 이익 = q_op)을 대신 사용할 수 ... 그것은에 대한 참조를 찾을 수 없습니다?

+0

예외의 어떤 종류의 당신이 할 ? – Mysterion

답변

1

.과 함께 사용되는 이름은 객체 참조 (즉, datetime.datetime, solr.search() 등)를 나타 내기 때문에 python의 매개 변수에서 직접 사용할 수 없습니다.

당신은 검색 기능에 매개 변수로 확장 사전과 같은 속성을 제공함으로써이 문제를 해결할 수 있습니다

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

감사. 그것은 내 질문을 해결합니다. –