Я пытаюсь получить количество всех строк и количество различных значений в столбце с помощью пакетаasticsearch-dsl в python.
Я довольно новичок вasticsearch, поэтому извинения, если я спрашиваютупой вопрос, но я прочитал всю доступную документацию по этому и не мог понять это.Буду признателен за любую помощь в этом!
Для получения количества всех строк я использую '.aggs.metric (), который работает нормально, и для получения количества различных значений, которые япопробовал .bucket («условия») и .bucket («количество элементов»), который не возвращает то, что я хочу.
Для общего количества строк:
s = Search(using=client, index="<index_name>")
s.aggs.metric('total', 'sum', field = '<column>')
s = s.execute()
s.aggregations.total.value
Для количества различных значений в столбце:
s = Search(using=client, index="brandcleanerv2")
s.aggs.metric('by_cluster', 'cardinality', field='cluster')
s = s.execute()
Второй фрагмент кода возвращает 10 строк, I 'Мы также пытались использовать параметр «Terms» внутри .bucket (), но он возвращал количество вхождений каждого отдельного значения в столбце и только для 10 значений.