elasticsearch 指定Angular JS中ElasticSearch查询的AND运算符,elasticsearch,elasticsearch" /> elasticsearch 指定Angular JS中ElasticSearch查询的AND运算符,elasticsearch,elasticsearch" />

elasticsearch 指定Angular JS中ElasticSearch查询的AND运算符

elasticsearch 指定Angular JS中ElasticSearch查询的AND运算符,elasticsearch,elasticsearch,以下是使用angularjs查询elasticsearch的代码部分。 默认情况下,查询是接受,或者如果我给印度德里 我希望接线员是和。就像接线员:'和' 如何将其添加到现有函数中 此外,如果我必须指定模糊性,我该怎么做 myServices.factory('searchService', ['es', function(es) { return { textSearch: function(query){ return es.search({ ind

以下是使用angularjs查询elasticsearch的代码部分。 默认情况下,查询是接受,或者如果我给印度德里 我希望接线员是和。就像接线员:'和' 如何将其添加到现有函数中

此外,如果我必须指定模糊性,我该怎么做

myServices.factory('searchService', ['es',  function(es) {
  return {
    textSearch: function(query){
      return es.search({
        index: 'country',
        type: 'state',
        q: query
      })
    }
  };
}]);
下面是控制器

var myControllers = angular.module('myControllers', []);

myControllers.controller('SearchController', ['$scope', 'es','searchService',
    function($scope, es, searchService) {
     $scope.search = function() {
       var hits = searchService.textSearch($scope.query || '*');
       hits.then(function(resp) {
         $scope.results = resp.hits.hits;
       });
     };

    angular.element(document).ready(function () {
      $scope.search();
    });
        }]);

您需要确保使用运算符设置为和的匹配查询

在您的情况下,这将是以下几点:

return es.search({
        index: 'country',
        type: 'state',
        q: 
        {"match" : {
             "field" : {
              "query" : query,
              "operator" : "and"
           }
         }
       }
      })
将字段设置为要搜索的字段