Использовать URI поиска ElasticSearch в Python-клиенте Python

У меня есть следующий рабочий запрос, используя CURL:

  curl -X GET 'http://myhost/myindex/_search?q=text:%7B1933%20TO%201949%7D'

который идентифицирует все документы внутри индекса myindex, который в текстовом поле (строковый тип) содержит упоминания дат между 1933 и 1949 годами. Я хотел бы использовать этот запрос программно из Python, и в этом смысле у меня установлен клиент Python ElasticSearch, Pyes:

  from elasticsearch import ElasticSearch
  from pyes import *

а потом я хотел бы позвонить

  es = ElasticSearch('myhost')
  totalDocs = es.search('myindex', body={'query':{'query_string':{'query': 'text:%7B1933%20TO%201949%7D'}},"size":0})['hits']['total']

но этот синтаксис не работает. Также важно, чтобы я смотрел в текстовое поле только для этих упоминаний даты. Есть ли способы использовать начальный запрос в Python? Большое спасибо!

Позже отредактируйте: я также попробовал это так:

  totalDocs = es.search('myindex', 'text:%7B1933%20TO%201949%7D')['hits']['total']

Это работает, но не возвращает никаких документов.

На самом деле мой вопрос сводится к этому вопросу: [ ElasticSearch - указать диапазон для строкового поля

0 ответов

Другие вопросы по тегам