2013-02-13 4 views
7

Я пытаюсь сортировать результаты поиска по дате на нескольких страницах результатов. Сортировка работает на каждой странице, есть ли способ сортировки по всему набору?ElasticSearch Pagination & Sorting

Например: Если страница 1 содержит товары с 13 по 1 февраля; на второй странице не должно быть предметов после 1 февраля.

Вот краткий фрагмент запроса, который я отправляю. Я также попробовал сортировку по дате тогда _score, но это дало еще более странные результаты (в первую очередь порядок сортировки был таким же).

{ 
    "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 ... 
     ] 
    } 
    } 
} 

Любые мысли? Заранее спасибо!

+0

Должно быть дано тогда _score. Пожалуйста, подумайте о включении ваших «странных» результатов в вопрос. Кто-то может объяснить, почему они так странны. – imotov

+0

Как я уже сказал в вопросе, я попробовал сортировку по дате, а затем _score. Я постараюсь сегодня принести некоторые результаты. – Jake

+0

Извините, я недостаточно читал ваш комментарий, чтобы поймать, что вы говорите. На данный момент _sort нет на месте, и я все еще вижу те же результаты. – Jake

ответ

10

Короче говоря, я идиот.

Я не умножал индекс страницы на количество элементов на странице. Я не уверен, как я пропустил то же самое на каждой странице, поднявшись на одно место.

Я уверен, что это решит все другие нечетные проблемы, с которыми я столкнулся.

+6

:-) Мы все были в подобном месте, я конечно. –

6

сортировать, размер, от должен быть в корне

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

Search API - Sort

+0

привет сэр, пожалуйста, вы можете ответить на мой http://stackoverflow.com/questions/35719728/pagination-in-elasticsearch-laravel, а также о разбиении на страницы – 2016-03-10 07:31:05