Mercurial > hg > zopeSolr
changeset 10:74a9661e4e9f
sorting added
author | dwinter |
---|---|
date | Thu, 27 Jun 2013 08:28:45 +0200 |
parents | a8f16569d1a6 |
children | f7fe88804cb8 |
files | zopeSolr.py |
diffstat | 1 files changed, 8 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/zopeSolr.py Tue May 28 16:18:59 2013 +0200 +++ b/zopeSolr.py Thu Jun 27 08:28:45 2013 +0200 @@ -243,7 +243,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,sorting=None): "search solr" @@ -431,6 +431,10 @@ res=res.paginate(start=start, rows=rows).highlight(usePhraseHighlighter=True) + + if sorting is not None: + for sort in sorting: + res=res.sort_by(sort); return res @@ -455,7 +459,7 @@ #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,facetFields_limit=None,trunc=False): + def search(self,solrQuery,facetFields=[],start=0,rows=10,facetSearch=None,sortFacets=True,orSearch=None,facetFields_limit=None,trunc=False,sorting=None): print trunc @@ -463,7 +467,7 @@ if not solrQuery.endswith("*"): solrQuery+="*" - res=self.prepareSearch(solrQuery,facetFields,start,rows,facetSearch,sortFacets,orSearch=orSearch) + res=self.prepareSearch(solrQuery,facetFields,start,rows,facetSearch,sortFacets,orSearch=orSearch,sorting=sorting) #response= res.execute() opt = res.options(); @@ -496,7 +500,7 @@ - #hilfsmethode zum sortieren über der ranges + #hilfsmethode zum <eren über der ranges def sortRanges(self,ranges): x=list(ranges) x.sort()