Elasticsearch - über den Pfad der Hierarchie tokenizer, um den Zugriff auf die verschiedenen level der Kategorien
Ich bin sehr neu in Elasticsearch und habe eine Frage über die hierarchische tokenizer, einen Pfad. Hier ist mein code-Beispiel:
Mein mapping-code:
PUT /my_index
{
"settings": {
"analysis": {
"analyzer": {
"path-analyzer": {
"type": "custom",
"tokenizer": "path-tokenizer"
}
},
"tokenizer": {
"path-tokenizer": {
"type": "path_hierarchy",
"delimiter": "."
}
}
}
},
"mappings": {
"my_type": {
"dynamic": "strict",
"properties": {
"group_path": {
"type": "string",
"index_analyzer": "path-analyzer",
"search_analyzer": "keyword"
}
}
}
}
}
Dies ist mein GESETZT:
PUT /my_index/my_type/1
{
"group_path": ["Book.Thriller.Adult","DVD.Comedy.Kids"]
}
Dies ist meine Abfrage:
GET /my_index/my_type/_search?search_type=count
{
"aggs": {
"category": {
"terms": {
"field": "group_path",
"size": 0
}
}
}
}
Und das Ergebnis:
{
...
"aggregations": {
"category": {
"buckets": [
{
"key": "Book",
"doc_count": 1
},
{
"key": "Book.Thriller",
"doc_count": 1
},
{
"key": "Book.Thriller.Adult",
"doc_count": 1
},
{
"key": "DVD",
"doc_count": 1
},
{
"key": "DVD.Comedy",
"doc_count": 1
},
{
"key": "DVD.Comedy.Kids",
"doc_count": 1
}
]
}
}
}
So weit ist alles gut. Was ich Suche ist, wie kann ich die Eimer nur als Beispiel für die erste Kategorie. Wie bekomme ich das Ergebnis so:
{
...
"aggregations": {
"category": {
"buckets": [
{
"key": "Book",
"doc_count": 1
},
{
"key": "DVD",
"doc_count": 1
}
]
}
}
}
Danke für jede Hilfe.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die einzige Möglichkeit, die ich gefunden, dies zu tun ist, verwenden Sie die exclude-syntax, um auszuschließen, die Ebenen, die Sie nicht wollen.
Wird dann wieder
Wenn Sie die Option buchen, können Sie danach suchen, wie dies
Wird dann wieder