2017-06-07 1 views
1

Question sur Querys dans AngularJs avec Elasticsearch. Si j'utilise Kibana, le résultat sera de 10 hits, ce qui est logique.elasticsearch avec angularjs peu importe ce que je recherche, il frappe toujours toutes les données dans la base de données

POST /_search 
{ 
    "query": { 
    "match": { 
     "fieldname": "Obama" 
    } 
    } 
} 

Si j'utilise le paramètre q comme les API officielles décrivent: enter image description here Je vais aussi obtenir la réponse en utilisant

newsApp.controller('searchCtrl', function ($scope, client) { 
    $scope.searchFunc = function(){ 
     client.search({ 
      q: "fildname: Obama"" 
     }); 
}); 

Il sera également très bien. Mais quand j'ai besoin plus:

newsApp.controller('searchCtrl', function ($scope, client) { 
     $scope.searchFunc = function(){ 
      //I have tried this: 
      client.search({ 
       "query": {"match": {"fieldname" : "Obama"}} 
      }); 

      //I have tried this: 
      client.search(
      { 
      body: { 
       query: { 
       match: { 
        fildname: "Obama" 
       } 
       } 
      } 
     }); 
}); 

Alors je ne pouvais rien faire. Donc, je ne sais pas quel genre de requête je pourrais vraiment utiliser?
enter image description here

Répondre

0

Essayez d'ajouter un index et d'utiliser le même format de requête. voir les journaux dans la fonction de rappel

client.search({ 
    index: 'myindex', 
    q: 'title:test' 
}, function (error, response) { 
    // ... 
}); 
+0

Oui, q comme cela fonctionne très bien. mais si je veux utiliser des filtres ou des requêtes highligt, ça ne marche pas – Shan