Elasticsearch DSL запросы не находят результатов
Я работаю над настройкой Elasticsearch DSL для проекта Django.
Когда я использую Elasticsearch DSL для настройки индекса и doc_type, все работает. Я использую sense(chrome plugin) и cURL, чтобы дважды проверить, добавлено ли отображение index и doc_type, добавлены ли объекты, которые я хочу сохранить, и это так.
Проблема возникает, когда я использую определения API Elasticsearch DSL для отправки запросов - никаких результатов не найдено.
def experimental_test():
connections.create_connection(hosts=['localhost:9200'])
tests_index = Index('tests_index')
tests_index.settings(
number_of_shards=1,
number_of_replicas=0
)
tests_index.doc_type(Test)
tests_index.delete(ignore=404)
tests_index.create()
Test.init()
test = Test(title='Foo')
test.save()
s = Search()
s = s.doc_type(Test)
s = s.query('match', title='Foo')
print s.to_dict()
response = s.execute()
Вот что говорит отладка, отправляется в Elasticsearch (фактический запрос):
[INFO 2015-06-29 15: 50: 24,705asticsearch.trace] curl -XGET ' http://localhost:9200/_all/test/_search?pretty' -d '{"query": {"match": { "title": "Foo"}}} '
Но никаких результатов не найдено.
Если я копирую этот запрос в Sense или терминал с помощью cURL, он находит его.
У кого-нибудь еще есть эта конкретная проблема?
Спасибо за любые ответы, которые могут привести меня к пониманию, в чем проблема, или что можно сделать по-другому.
PS: документы по API не очень полезны.