Я пытаюсь получить количество всех строк и количество различных значений в столбце, используя пакет elasticsearch-dsl в python.
Я новичок в elasticsearch, поэтому прошу прощения, если задаю глупый вопрос, но Я прочитал всю доступную документацию по этому вопросу и не мог понять это. Любая помощь в этом будет оценена по достоинству!
Для подсчета всех строк я использую '.aggs.metric(), который работает нормально, а для подсчета различных значений я пробовал .bucket('terms') и .bucket('cardinality '), который не возвращает то, что я хочу.
Для общего количества строк:
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 строк, я также пытался использовать параметр «terms» внутри .bucket(), но он вернул количество вхождений каждого отдельного значения в столбце, и это тоже только для 10 значений.