mag ich versuchen und verwenden elasticsearch_dsl mit Python für die folgendenVerwendung von Python elastisearch_dsl mit verschachtelten Objekten
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
Ich bin in der Lage, die erste Abfrage zu erhalten, aber bin nicht sicher, auf dem zweiten
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
Nicht sicher, wie die Abfrage unter Verwendung von DSL für das verschachtelte Objekt party.phoneList.phoneFullNumber
Neu zu ES und damit konnte nicht herausfinden, wie die verschachtelten Objekte zu tun. Ich sah https://github.com/elastic/elasticsearch-dsl-py/issues/28 und konnte nicht ganz herausfinden.
Danke!