2016-06-15 9 views
1

Ich möchte auf dem 'Index' und 'Type', der vom Benutzer über ein HTML-Formular eingegeben wird, suchen. Ich bin neu in eckigen und Elasticsearch.Elasticsearch Suchdaten mit angularjs

Ich habe versucht, den Code und die Bindung der Variablen durch ng-Modell

ExampleApp.controller('MatchController', function ($scope, client, esFactory) { 
    function click($scope){ 
     $scope.index = ''; 
     $scope.type = ''; 
     $scope.key = ''; 

client.search({ 
index: $scope.index , 
type: $scope.type , 
size: 50, 
body: { 
"query": 
    { 
     "match": { 

      name: $scope.key 
     } 
    }, 
} 

HTML-Code, mit ...

<input type="text" ng-model="index" id="index" /> <br><br> 
<input type="text" ng-model="type" id="type" /><br><br> 
<input type="text" ng-model="key" id="key" /><br><br> 
<input type="button" value="search" onclick="click()"> 

Ist es möglich, dies zu tun ??? Wenn das so ist, wie??

vielen dank.

Antwort

1

Sie müssen einen Dienst zum Verbinden und Abfragen von elasticsearch mit Ihren Funktionen erstellen.

https://www.sitepoint.com/building-recipe-search-site-angular-elasticsearch/

Der obige Link zeigt Ihnen, wie Sie Abfragen über Elasticsearch und AngularJS erstellen und auszuführen. Der Dienst, den ich erwähnte, wird in dem letzten Codeblock geschrieben. Ich schlage vor, Sie lesen den ganzen Artikel, um Ihnen ein besseres Verständnis zu geben.

Sie sind meistens auf dem richtigen Weg, außer dass Ihr gesamter client.search-Teil in einen Dienst gehen muss, den Sie aufrufen, andernfalls wird immer der Controller aufgerufen, der auch aufgerufen wird, den Sie nicht wollen.

Verwandte Themen