grunt で MEANJS をインストールしました。既存のモジュールは正しく機能しています。問題は、Elastic Search を angular Js と統合しようとしていることです。しかし、適切な解決策は得られませんでした。弾性検索をserver.jsに接続していると、端末に検索結果が表示されます。ホームページでangular jsを介して検索結果を表示する方法。
また、エラスティック検索が自動更新されるように、エラスティック データベースを mongodb データベースに接続したいと考えています。どんな提案も私にとって非常に役に立ちます。私が使用している弾性検索を介して接続するために
var MyOpenRecipes = angular.module('myOpenRecipes', ['elasticsearch'],
['$locationProvider', function($locationProvider){
$locationProvider.html5Mode(true);
}]
);
MyOpenRecipes.factory('recipeService',
['$q', 'esFactory', '$location', function($q, elasticsearch, $location){
var client = elasticsearch({
host: $location.host() + ":9200"
});
/**
* Given a term and an offset, load another round of 10 recipes.
*
* Returns a promise.
*/
var search = function(term, offset){
var deferred = $q.defer();
var query = {
"match": {
"_all": term
}
};
client.search({
"index": 'facilities',
"type": 'facility',
"body": {
"size": 10,
"from": (offset || 0) * 10,
"query": query
}
}).then(function(result) {
var ii = 0, hits_in, hits_out = [];
hits_in = (result.hits || {}).hits || [];
for(;ii < hits_in.length; ii++){
hits_out.push(hits_in[ii]._source);
}
deferred.resolve(hits_out);
}, deferred.reject);
return deferred.promise;
};
return {
"search": search
};
}]
);