Как изменить мой запрос, чтобы отображать только 5 первых заказов в книге заказов?
Мои данные имеют такую структуру. Заказ является вложенным типом.
Orderbook
|_ Orders
Это мой запрос
GET /orderindex/_search
{
"size": 10,
"query": {
"term": { "_type": "orderbook" }
}
}
И это результат
{
"took": 2,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"skipped": 0,
"failed": 0
},
"hits": {
"total": 10,
"max_score": 1,
"hits": [
{
"_index": "orderindex",
"_type": "orderbook",
"_id": "1",
"_score": 1,
"_source": {
"id": 1,
"exchange": "Exch1",
"label": "USD/CAD",
"length": 40,
"timestamp": "5/16/2018 4:33:31 AM",
"orders": [
{
"pair1": "USD",
"total": 0.00183244,
"quantity": 61,
"orderbookId": 0,
"price": 0.00003004,
"exchange": "Exch1",
"id": 5063,
"label": "USD/CAD",
"pair2": "CAD",
},
{
"pair1": "USD",
"total": 0.0231154,
"quantity": 770,
"orderbookId": 0,
"price": 0.00003002,
"exchange": "Exch1",
"id": 5064,
"label": "USD/CAD",
"pair2": "CAD",
},
...
..
.
Кроме того, как я могу запросить две конкретные книги заказов по имени метки и получить только первые 2 заказа?
Сейчас я отправляю этот запрос, но проблема в том, что он возвращает книги заказов, включая все его заказы, а затем после этого возвращает только 2 плюс внутренние попадания. Как мне сделать, чтобы вернуть только 2 внутренних попадания без всех заказов, которые идут с книгой заказов из первой части запроса
GET /orderindex/_search
{
"query": {
"bool": {
"must": [
{
"term": { "_type": "orderbook" }
},
{
"nested": {
"path": "orders",
"query": {
"match_all": {}
},
"inner_hits": {
"size": 2
}
}
}
]
}
}}