D'obtenir le résultat d'un SearchResponse dans ElasticSearch
Je suis en train d'essayer d'utiliser de l'ES, l'indice pour mon MongoDB. J'ai réussi à les intégrer avec succès, mais je trouve l'API de recherche plutôt complexe et déroutant. L'API Java n'est pas trop utile non plus.
Je suis en mesure de trouver des correspondances exactes, mais comment puis-je obtenir ce résultat? Voici mon code:
Node node = nodeBuilder().node();
SearchResponse sr = node.client().prepareSearch()
.addAggregation(
AggregationBuilders.terms("user").field("admin2san")
.subAggregation(AggregationBuilders.terms("SPT").field("64097"))
)
.execute().actionGet();
SearchHit[] results = sr.getHits().getHits();
List<Firewall> myfirewall = results.getSourceAsObjectList(Firewall.class);
for (Firewall info : myfirewall) {
System.out.println("search result is " + info);
}
- pouvez-vous élaborer un petit peu plus? Que voulez-vous comme résultat final?
- Je veux afficher le résultat dans un Système.out.println pour cette requête.
Vous devez vous connecter pour publier un commentaire.
Je ne suis pas tout à fait sûr j'ai bien compris votre question.
Si vous souhaitez imprimer le résultat de votre searchResponse selon votre exemple, il devrait être quelque chose comme ceci :
Je suis en utilisant Gson pour convertir à partir de la réponse Json pour le Pare-feu(POJO).
J'espère que c'est ce que vous cherchez.
réponse.getHits().getHits()[0].getSourceAsMap() vous pourriez essayer somwthing comme ce