angularjs - angularjs elasticsearch typeahead匹配未定义

标签 angularjs twitter-bootstrap-3 elasticsearch typeahead

我正在使用 :

AngularJs:AngularJS v1.2.22

Bootstrap:Bootstrap v3.1.1 + ui-bootstrap-tpls-0.11.0.js

Elasticsearch.angular:elasticsearch-v2.4.0-2014-07-30

我在Angular的前端工作,我想在elasticsearch文档上使用twitter-bootstap typeahead进行自动完成的输入。
我可以使用angularJs查询elasticsearch并正确获取数据(通过将它们放在范围中),但是当我尝试异​​步查询时,它失败并显示错误**“错误:匹配项未定义” (完全错误,她:http://pastebin.com/CJSubYbp)

在angularjs中,为elasticsearch服务:

interfaceApp.service('elasticQuery', function (esFactory) {
   return esFactory({ host: 'localhost:9200' });
});

我的 Controller :
“使用严格”;
/* Controllers */
var searchSimpleModules = angular.module('searchSimpleModules', ['ngRoute']);

searchSimpleModules.controller('searchSimpleCtrl', function ($scope, $rootScope, $routeParams, $location, elasticQuery) {
   $scope.simplequery = "";
   $scope.autocomplete = function(value) {
      $scope.simplequery = value;
      var index_p = 'donnees';
      var size_p = 50;
      var body_p = {
         "query": {
            "query_string": { "query" : value +"*" }
         }
      };
      elasticQuery.search({
         index: index_p,
         size: size_p,
         body: body_p
      }).then(function (response) {
         $scope.hits= response.hits.hits;
      });
   };

   $scope.find = function () {
      elasticQuery.search({
         index: 'donnees',
         size: 50,
         body: {    "query": {  "query_string": { "query" : "P000023*" }  }         }
      }).then(function (response) {
         $scope.hits= response.hits.hits;
      });
   };
});

html输入:
 <input required type="text"
       popover="Rechercher un terme sur toute la partie {{simplesearch.domaine}}.Il est possible d'utiliser des *,? et double quote."
       popover-trigger="focus"
       placeholder="recherche globale"
       class="form-control"
       typeahead="entree for entree in autocomplete($viewValue)"
       ng-model="simplequery"
>

在Firebug控制台中,我看到服务生成的“http.get()”之前出现错误。

我进行了很多搜索以调试它,但我无法摆脱它。

我读了http://www.elasticsearch.org/guide/en/elasticsearch/client/javascript-api/current/browser-builds.html

任何建议都欢迎。谢谢
最好的祝福

最佳答案

更新2:使用elasticsearch-angular.js:

autocomplete/typeahead angularjs bootstrap on elasticsearch

(由于缺少“return elasticQuery.search({...})”中的返回而无法使用)

关于angularjs - angularjs elasticsearch typeahead匹配未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25420706/

相关文章:

css - 带有 Bootstrap 的响应式设计

css - 如何使用 bootstrap 3 将自定义按钮添加到页面?

elasticsearch - Elasticsearch 1.5不会添加_timestamp

java - 如何使用RestHighLevelClient获取集群状态或索引元数据?

javascript - 模型中的angularjs更改仅在单击某处时呈现

javascript - angularjs .$on 内的服务未定义

javascript - 由 Requirejs 提供支持的 Angular 应用程序 - 参数 '(contoller)' 不是函数,未定义?

twitter-bootstrap - 为什么我们在 Bootstrap 框架中需要类.row?

filter - Elasticsearch:错误的方面条件结果

javascript - 如何将 angularjs 变量值传递给 JavaScript 函数?