Próbuję przeprowadzić agregację terminów za pomocą elastycznego wyszukiwania dla poniższych danych z następującym zapytaniem, dane wyjściowe dzielą nazwy na tokeny (patrz dane wyjściowe poniżej). Tak więc próbowałem mapować nazwę os_na jako multi_field i teraz nie jestem w stanie zapytać przez nią. Czy możliwe jest posiadanie indeksu bez żetonów? takie jak "Fedora Core"?ElasticSearch agregacja terminów
Zapytanie:
GET /temp/example/_search
{
"size": 0,
"aggs": {
"OS": {
"terms": {
"field": "os_name"
}
}
}
}
danych:
...
{
"_index": "temp",
"_type": "example",
"_id": "3",
"_score": 1,
"_source": {
"title": "system3",
"os_name": "Fedora Core",
"os_version": 18
}
},
{
"_index": "temp",
"_type": "example",
"_id": "1",
"_score": 1,
"_source": {
"title": "system1",
"os_name": "Fedora Core",
"os_version": 20
}
},
{
"_index": "temp",
"_type": "example",
"_id": "2",
"_score": 1,
"_source": {
"title": "backup",
"os_name": "Yellow Dog",
"os_version": 6
}
}
...
wyjściowa:
...
{
"key": "core",
"doc_count": 2
},
{
"key": "fedora",
"doc_count": 2
},
{
"key": "dog",
"doc_count": 1
},
{
"key": "yellow",
"doc_count": 1
}
...
MAPP ing:
PUT /temp
{
"mappings": {
"example": {
"properties": {
"os_name": {
"type": "string"
},
"os_version": {
"type": "long"
},
"title": {
"type": "string"
}
}
}
}
}
proszę zamieścić swoje odwzorowanie zbyt . – Thorsten
Hi @ Thorsten, dodałem również mapowanie. Dzięki. – codeBarer