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()