У меня есть запросasticsearch, и я перебираю список координат в python, вставляю по одному в запрос в каждом цикле и добавляю результаты в фрейм данных.
Мне нужен более быстрый способ получения результатов поиска для моего списка координат, например, пакетная обработка их всех сразу.
Я изучил запрос терминов, и этот ответ: ElasticSearch.Как передать массив в шаблон поиска
Но не удалось.
Это оригинальный запрос, в котором я передаю координаты местоположения по одной координате за раз:
{
"size": 0,
"_source": false,
"query": {
"filtered": {
"filter": {
"and": [{
"geo_distance": {
"distance": "50mi"
"location": "35.323312, -23.14848"
}
},
{
"bool": {
"must": {
"term": {
"id_from_store": 99
}
}
}
},
{
"bool": {
"must": {
"term": {
"is_new": 1
}
}
}
},
{
"bool": {
"must": {
"range": {
"datetime_shelf": {
"gte": "2018-02-01"
}
}
}
}
}]
}
}
},
"aggs": {
"group_by_listing": {
"terms": {
"field": "p_id",
"size": 200
}
}
}
}
Есть ли способ передать список координат сразу?
{
"size": 0,
"_source": false,
"query": {
"filtered": {
"filter": {
"and": [{
"geo_distance": {
"distance": "50mi"
"location": ["35.323312, -23.14848", "45.23423, 34.2348", ...]
}
},
{
"bool": {
"must": {
"term": {
"id_from_store": 99
}
}
}
},
{
"bool": {
"must": {
"term": {
"is_new": 1
}
}
}
},
{
"bool": {
"must": {
"range": {
"datetime_shelf": {
"gte": "2018-02-01"
}
}
}
}
}]
}
}
},
"aggs": {
"group_by_listing": {
"terms": {
"field": "p_id",
"size": 200
}
}
}
}```
the query returns a dict of p_id with doc_count. Would this be nested for each coordinate? How do I make it return the aggregated doc counts of p_id for each coordinate?