2016-06-18 4 views
0

Я использую эластичный поиск в Rails. Я пытаюсь сортировать список клиентов по их общим затраченным долларам убываниям. Это мой рубиновый код:Вариант сортировки Elasticsearch не поддерживается

query = { 
    bool: { 
     filter: { 
     term: { store_id: store.id } # Limits customers by current store 
     } 
    } 
    } 

    sort = { 
    sort: { "total_spent": { order: "desc" }} 
    } 

    response = Contact.search(query: query, sort: sort) 

Это возвращается с ошибкой sort option [total_spent] not supported Я попытался с другими полями, чтобы убедиться, что это не просто что-то не так с полем total_spent. Благодарю.

ответ

1

Я не уверен, но я думаю, что это может быть связано с неправильным использованием ES :: DSL.

Что происходит, когда вы попробуете это:

query = { 
    bool: { 
     filter: { 
     term: { store_id: store.id } # Limits customers by current store 
     } 
    } 
    } 

    sort = { 
    sort: [{ "total_spent": { order: "desc" }}] #https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-sort.html 
    } 

    response = Contact.search(query, sort) 
+0

Он возвращается с 'вариант сортировки [нулевому] не supported' –

Смежные вопросы