0
Est-ce que le texte ci-dessous est exact ou devrait-il être quelque chose d'autre?accéder à des champs individuels en utilisant la recherche élastique dsl en python
Je reçois les résultats attendus en vérifiant simplement si c'est le moyen le plus efficace d'accéder à des champs individuels (imbriqués).
from elasticsearch import Elasticsearch
from elasticsearch_dsl import Search, Q
import json
client = Elasticsearch('my_server')
policy_number = 'POLICY1234'
s = Search(using=client, index = "my_index").query("term",policyNumber=policy_number.lower())
es_response = s.execute()
for hits in es_response:
print hits['policyNumber']
print hits.party[0]['fullName']
print hits.party[0].partyAddress[0]['address1']
print hits.party[0].partyAddress[0]['city']
print hits.party[0].phoneList[0]['phoneNumber']
Bon à savoir ne pas sachez que je pourrais passer l'exécution. Si je devais ne pas utiliser une boucle et ne se souciaient que sur le 1er touché j'aurais >>> es_response = s.execute() >>> print es_response [0] .policyNumber >>> print es_response [0] .party [0] .fullName >>> print es_response [0] .party [0] .phoneList [0] .phoneNumber sans boucle for et sans appel execute() comment faire? >>> print s [0] .policyNumber ne fonctionne pas –
Celui que vous devez exécuter car trancher l'objet 'Search' vient d'introduire les limites' from'/'size'. –