2013-02-13 4 views
7

Ich versuche, Suchergebnisse nach einem Datum über mehrere Seiten mit Ergebnissen zu sortieren. Das Sortieren funktioniert auf jeder Seite. Gibt es eine Möglichkeit, das gesamte Set zu sortieren?ElasticSearch Paginierung & Sortierung

Zum Beispiel: Wenn Seite 1 Artikel vom 13. Februar bis 1. Februar hat; Die zweite Seite sollte nach dem 1. Februar keine Artikel mehr enthalten.

Hier ist ein kurzer Auszug der Anfrage, die ich sende. Ich habe auch versucht, nach Datum dann _score zu sortieren, aber das produzierte noch seltsamere Ergebnisse (in erster Linie war die Sortierreihenfolge die gleiche).

{ 
    "query": { 
    "from": 0, 
    "size": 24 
    "sort": [ 
     "published_on": { 
     "missing": "_last", 
     "ignore_unmapped": true, 
     "order": "desc" 
     } 
    ] 
    "custom_filters_score": { 
     "query": { 
     "bool": { 
      "must": [ 
      { 
       "match": { 
       "content": "Some query" 
       } 
      } 
      ] 
      ... more ... 
     } 
     }, 
     "filters": [ 
     { 
      "filter" => { 
      "type" => { 
       "value" => "cats" 
      } 
      }, 
      "boost" => 2 
     } 
     ... more ... 
     ] 
    } 
    } 
} 

Irgendwelche Gedanken? Danke im Voraus!

+0

Es sollte Datum dann _score sein. Bitte berücksichtigen Sie Ihre "seltsamen" Ergebnisse in der Frage. Jemand könnte vielleicht erklären, warum sie so seltsam sind. – imotov

+0

Wie ich in der Frage gesagt habe, habe ich versucht, nach Datum sortiert dann _score. Ich werde versuchen, heute einige Ergebnisse zu präsentieren. – Jake

+0

Entschuldigung, ich habe deinen Kommentar nicht gut genug gelesen, um zu verstehen, was du sagst. Im Moment ist der _sort nicht vorhanden und ich sehe immer noch die gleichen Ergebnisse. – Jake

Antwort

10

Kurz gesagt, ich bin ein Idiot.

Ich multiplizierte den Seitenindex nicht mit der Anzahl der Elemente auf der Seite. Ich bin mir nicht sicher, wie ich auf jeder Seite die gleichen Angaben verpasst habe, nur um einen Punkt.

Ich bin mir sicher, dass dies alle anderen seltsamen Probleme lösen wird, mit denen ich es zu tun habe.

+6

:-) Wir waren alle an einem ähnlichen Ort, ich bin sicher. –

6

Art, Größe, von der Wurzel sein muss

{ 
     query:{ 
      ... 
     }, 
     sort:[ 
     ... 
     ], 
     from:15, 
     size:5 
    } 

Search API - Sort

+0

hallo Sir bitte können Sie auf meinem http://stackoverflow.com/questions/35719728/pagination-in-elasticsearch-laravel antworten es geht auch um Paginierung –