Récupérer les résultats d'une requête

Bonjour à tous et à toutes

Je viens tout juste de commencer sur Elasticsearch et je vous cache pas que ça me paraît assez abscons pour l'instant.

J'utilise l'API sur Symfony 2.

Pour vous situer un peu le contexte, j'utilise le bundle FOSElasticaBundle qui m'as permis de mapper des tables SQL déjà existantes via la commande "php app/console fos:elastica:populate".

N'étant pas très à l'aise avec l'API Elasticsearch pour l'instant j'ai fait une requête toute simple sur un des champs de ma table (ou "type" selon l'API) telle que suit:

$demande_type = $this->get('fos_elastica.index.pdc.demandeassu');
$results = $demande_type->search("CDS-660 Optimisation Restaure Applicative");

Je sais que les résultats de la recherche sont retournés en format JSON eux aussi. J'aimerais donc savoir comment parcourir le JSON pour pouvoir mettre en forme les résultats sur ma page WEB.

Autre question.

Je souhaiterais savoir s'il est possible de chercher des mots différents sur différent champs d'un type.

De faire une requête du genre

{
  "multi_match" : {
    "query":    "this is a test", 
    "fields": [ "subject", "message" ] 
  }
}

Mais avec une query différente pour chaque fields (je sais pas si je suis clair) :sweat:

N'hésitez pas à me poser des question si vous voulez que je précise ma pensée.

Bonne journée à vous tous :sunglasses:

Tu peux faire une bool query avec plusieurs clauses must ou should (suivant si tu veux faire du et ou du ou).

Ca t'irait ?

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.