Я использую Python, Elasticsearch DSL пакет: http://elasticsearch-dsl.readthedocs.org/en/latest/search_dsl.htmlPython Elasticsearch значение DSL запрос из списка
Мой пример записи elasticsearch выглядит следующим образом:
{
"_index" : "users",
"_type" : "player",
"_id" : "1",
"_version" : 5,
"found" : true,
"_source":{"doc": {"weight": 92, "height": 184, "gender": "male", "firstname": "John", "lastname": "Smith", "age": 31, "country": "France"}}
, и я стараюсь, чтобы извлечь все записи, которые firstname = "John*"
страны в списке [France, Australia]
. Вот мой код:
firstname = 'John'
s = Search(index='users').using(elasticsearch)
must = [
{'match': {'doc.firstname': {'query': firstname + '*', 'boost': 2}}},
{'terms': {'doc.country': [u'France', u'Australia']}}]
s = s.query(Q('bool', must=must))
response = s.execute()
Он возвращает пустые результаты, что я делаю неправильно? Я пользуюсь этим предложением: Elasticsearch match list against field
Я новичок в Elasticsearch, все еще немного смущенный тем, где мы используем запрос против фильтра.