Je veux essayer d'utiliser elasticsearch_dsl avec python pour leEn utilisant Python elastisearch_dsl avec des objets imbriqués
import elasticsearch
es_server = 'my_server_name'
es_port = '9200'
es_index_name = 'my_index_name'
es_connection = Elasticsearch([{'host': es_server, 'port': es_port}])
es_query = '{"query":{"bool":{"must":[{"term":{"data.party.fullName":"john do"}}],"must_not":[],"should":[]}},"from":0,"size":1,"sort":[],"facets":{}}'
my_results = es_connection.search(index=es_index_name, body=es_query)
print my_results
es_query ='{"query": {"nested" : {"filter" : {"term" : {"party.phoneList.phoneFullNumber" : "4081234567"}},"path" : "party.phoneList"}},"from" :0,"size" : 1}';
my_results = es_connection.search(index=es_index_name, body=es_query)
print my_results
suivant, je suis en mesure d'obtenir la 1ère requête, mais je suis pas sûr de la seconde
from elasticsearch import Elasticsearch
from elasticsearch_dsl import Search, Q
client = Elasticsearch('my_server:9200')
s = Search(using=client, index = "my_index").query("term",fullName="john do ")
response = s.execute()
print response
Vous ne savez pas comment faire la requête en utilisant DSL pour l'objet imbriqué party.phoneList.phoneFullNumber
Nouveauté de ES et, par conséquent, n'a pas pu déterminer comment faire les objets imbriqués. J'ai regardé https://github.com/elastic/elasticsearch-dsl-py/issues/28 et j'ai pas pu comprendre.
Merci!