2015-03-12 7 views
0

Я запускаю агрегацию подсчета количества и агрегацию в моем наборе данных и использует следующий запрос.Агрегация Elasticsearch занимает много времени

GET my_index/my_type/_search 
{ 
    "query": { 
    "filtered": { 
     "filter": { 
     "bool": { 
      "must": [{ 
       "range": { 
       "time": { 
        "gt": "2015-03-04 00:00:00", 
        "lt": "2015-03-04 23:59:59" 
       } 
       } 
      } 
      ], 
      "should": [ 
      { 
       "term": { 
       "andi.raw": "1d3d7bac8ce4c620" 
       } 
      } 
      ] 
     } 
     } 
    } 
    }, 
    "aggs": { 
    "user_count": { 
     "cardinality": { 
     "field": "andi.raw" 
     } 
    } 
    } 
} 

Я бегу это внутри цикла для различных дат и в то время, сроки будет один день и срок фильтра есть 50 терминов (andi.raw aganist 50 значений). Одна такая итерация занимает около 2,5 сек. Для загрузки, и я почти 50-80 итераций большую часть времени. Так что это занимает много времени. Есть ли способ оптимизировать это для повышения производительности?

ответ

0

Ваши вопросы выглядят довольно интенсивно для меня. У меня был подобный набор запросов, и API с несколькими поисковыми вызовами меня несколько секунд спас.

См. multi-search API

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