2015-12-02 3 views
0
{ 
    "skus" : [ 
    { 
     "inv" : 426, 
     "sub_category_id" : 677 
    }, 
    { 
     "inv" : 112, 
     "sub_category_id" : 678 
    }, 
    { 
     "inv" : 0, 
     "sub_category_id" : 611 
    } 
    ] 
} 

У меня есть документ, который называется «продуктом» с объектом ребенка идентификатор и я хочу, чтобы сортировать мой продукт в моде, что если число СКА с и как 0 больше, чем 50 % от общего количества скисов для продукта всегда должно опускаться, и если это не 50%, заказ не должен быть затронут. Любая помощь будет оценена по достоинству.Сортировки по ребенку вхождений Elasticsearch Java API

ответ

1

Самый простой (и, вероятно, самый эффективный с точки зрения затрат) способ состоит в том, чтобы добавить вычисленное поле к вашему объекту продукта для целей сортировки и вычислить его по каждому запросу индекса/обновления продукта.

+0

Согласен! @naw. Если вы заранее знаете, что вам нужна эта информация, вы можете ее проиндексировать. В противном случае вам придется прибегать к темным сценариям, чтобы достичь того, что вам нужно. – Val

+0

Мне было ясно, что нужно индексировать новое поле, но если это можно сделать с помощью SortingScriptBuilder? Меня больше интересовало достижение этого с помощью пользовательской сортировки/группы. – naw

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