Допустим есть документ со следующими полями:
id title text date
мне нужно вернуть список id.
на данный момент делаю так:
es = Elasticsearch([host, ], http_auth=(user, passwd), port=9200 ) s = Search(using=es, index='docs', doc_type='doc') s.source(['id', ]) es_ids = [h.meta.id for h in s.scan()]
Но мне кажется что это как то не оно. Получается ко мне приходят все документы (или я не правильно понимаю?) а их там на данный момент более 100к и скоро будет в сотни раз больше.
Подскажите как возвращать только одно поле. списком, может есть такое?
Может быть надо использовать какой нибудь Q из elasticsearch_dsl ?
Буду рад помощи.
Анонимный пользователь Изменен статус публикации
Собственно делал все правильно но надо добавить параметр
s = s.params(size=8000)
На сколько я понял это размер ответа. Получается достаточно быстрою. И при увеличении количества шардов этот параметр будет умножаться на количество шардов.