2016-06-15 89 views
1

我想搜索'索引'和'類型'是從用戶通過HTML表單輸入。我對angular和Elasticsearch都很陌生。Elasticsearch搜索數據與angularjs

我嘗試使用此代碼,並結合通過NG-模型

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代碼中的變量...

<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()"> 

是否有可能做到這一點???如果是這樣?

非常感謝。

回答

1

您需要創建一個服務來使用您的函數連接和查詢elasticsearch。

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

上面的鏈接顯示瞭如何創建和運行通過elasticsearch和AngularJS查詢。我提到的服務是寫在最後一塊代碼中的。我建議你閱讀整篇文章,以便更好地理解。

除了你的整個client.search部分需要進入你所調用的服務之外,你大部分都是在正確的軌道上,否則無論何時調用控制器時都會被調用,而且你不希望發生這種情況。