Mam indeks i chcę uzyskać liczbę wpisów we wszystkich typach jednego konkretnego indeksu w elastycznym wyszukiwaniu, ale może on nie znać typów z wyprzedzeniem.Jak uzyskać liczbę dla każdego typu indeksu w elastycznym wyszukiwaniu?
Tak więc, na przykład, indeks jest
/events
i typy mogą być
/events/type1
/events/type2
...
/events/typeN
I chciałbym zapytać indeks i powiedzieć: „Daj mi licznik każdego rodzaje imprez pod Index”, więc może to wynik ustawione jak
/events/type1 : 40
/events/type2: 20
/events/typeN: 10
gdzie/wydarzenia/_count dałby mi
/events: 70
Edit: odpowiedź
imotov jest wielki. Mam jednak problem ze zrozumieniem, jak sprawić, żeby działał w JavaScript/Ajax. Mam coś takiego właśnie teraz:
$.ajax({
type: 'GET',
url: 'http://localhost:9200/events/_search?search_type=count',
data: '{ "facets" : { "count_by_type" : { "terms" : { "field": "_type" }}}}',
success: function(text) {
console.log(text);
}
)}'
Ale otrzymuję tylko całkowitą liczbę elementów w ES, część aspektów odpowiedź wydaje się brakować.
Dzięki! To z pewnością wydaje się mieć sens. Wydaje mi się, że nie mogę uzyskać tego połączenia z moim ES pracując z wywołań JavaScript/Ajax ... czy masz jakieś wskazówki, jak to zrobić? Teraz mam: $ .ajax ({ \t typ: 'GET', \t adres URL: 'http: // localhost: 9200/events/_search?search_type = count”, \t dane: '{ "aspekty": { "count_by_type": { "Terminy": { "pole": "_Typ"}}}}', \t success: function (text) { \t \t console.log (tekst); \t}, – cdietschrun
Edytuj. Wydawało się, że problem wymaga POST, że wniosek, teraz rozumiem więcej. – cdietschrun
Niektóre klienty HTTP nie mogą wysyłać treści żądania z żądaniami "GET". Czasami wymagane jest zastąpienie polecenia komendą 'POST'. – imotov