# HG changeset patch # User dwinter # Date 1369732420 -7200 # Node ID f695be8f4f34e45040efee6bab56f800d03891f1 # Parent 10733d367831f1004920c9dfe95cf63a907dc897 Incomplete - # 77: Sources: Cloud https://it-dev.mpiwg-berlin.mpg.de/tracs/webpage/ticket/77 added facetFields_limit to search parameters diff -r 10733d367831 -r f695be8f4f34 zopeSolr.py --- a/zopeSolr.py Fri Apr 26 17:52:24 2013 +0200 +++ b/zopeSolr.py Tue May 28 11:13:40 2013 +0200 @@ -224,7 +224,7 @@ #dokumentiert. Highlighting selbst wird in sorlconfig.xml konfiguriert. #return ein Queryobjet, zur eigentlichen Suche muss darauf noch execute ausgeführt werden. - def prepareSearch(self,solrQuery,facetFields=[],start=0,rows=10,facetSearch=None,sortFacets=True,orSearch=None): + def prepareSearch(self,solrQuery,facetFields=[],start=0,rows=10,facetSearch=None,sortFacets=True,orSearch=None,facetFields_limit=None): "search solr" @@ -394,7 +394,12 @@ #for facet in facetFields: # res = res.facet_by(facet) - res = res.facet_by(facetFields) + + + if facetFields_limit: + res = res.facet_by(facetFields,limit=facetFields_limit) + else: + res = res.facet_by(facetFields) #res=res.paginate(start=start, rows=rows).highlight("main_content") @@ -434,9 +439,9 @@ #erzeugt eine Suchabfrage und führt diese aus. #return {"result":response.result, "hl":response.highlighting,"facetFields":facetedFields} - def search(self,solrQuery,facetFields=[],start=0,rows=10,facetSearch=None,sortFacets=True,orSearch=None): + def search(self,solrQuery,facetFields=[],start=0,rows=10,facetSearch=None,sortFacets=True,orSearch=None,facetFields_limit=None): - res=self.prepareSearch(solrQuery,facetFields,start,rows,facetSearch,sortFacets,orSearch=orSearch) + res=self.prepareSearch(solrQuery,facetFields,start,rows,facetSearch,sortFacets,orSearch=orSearch,facetFields_limit=facetFields_limit) response= res.execute() #speichere faceted fields