Я хочу иметь подмножество ответа json от сервера ElasticSearch. Я новичок в ElasticSearch и JavaScript. Пожалуйста, смотрите. Файл json - это пример файла here из документа ElasticSearch. Это пример:Получение подмножества json от ElasticSearch
{
"took" : 1,
"timed_out" : false,
"_shards" : {
"total" : 5,
"successful" : 5,
"failed" : 0
},
"hits" : {
"total" : 1000,
"max_score" : 1.0,
"hits" : [ {
"_index" : "bank",
"_type" : "account",
"_id" : "4",
"_score" : 1.0,
"_source":{"account_number":4,"balance":27658,"firstname":"Rodriquez","lastname":"Flores","age":31,"gender":"F","address":"986 Wyckoff Avenue","employer":"Tourmania","email":"[email protected]","city":"Eastvale","state":"HI"}
}, {
"_index" : "bank",
"_type" : "account",
"_id" : "9",
"_score" : 1.0,
"_source":{"account_number":9,"balance":24776,"firstname":"Opal","lastname":"Meadows","age":39,"gender":"M","address":"963 Neptune Avenue","employer":"Cedward","email":"[email protected]","city":"Olney","state":"OH"}
}
................................
]
}
}
Как извлечь массив ACCOUNT_NUMBER, баланс и LastName, например [{"account_number":9,"balance":24776,"lastname":"Meadows"},{"account_number":4,"balance":27658,"lastname":"Flores"}, ......... ]
.
Вот код, который я использовал:
var deferred = $q.defer();
$http.get("http://localhost:9200/bank/_search?q=*").success(function(data){
var country=data.hits.hists.map(function (count) {
return {
account_number: count._source.account_number,
balance: count._source.balance,
lastname: count._source.lastname
};
});
deferred.resolve(country);
});
return deferred.promise;
Я черпал вдохновение от подобных кодов, как этот one для вызова REST. Кажется, что у меня data
есть undefined
. Есть ли какая-то конфигурация для ES?
Большое спасибо за ваш ответ – David
Он работает, спасибо. – David