Anonymous
Уникальный счетчик документа на основе свойства массива вложенного свойства.
Сообщение
Anonymous » 10 май 2024, 09:27
Предполагая, что это сопоставление моего индекса ниже, я хочу создать запрос эластичной агрегации для подсчета количества документов для каждого элемента свойства тестового массива
"mappings": {
"properties": {
"code": {
"type": "keyword"
},
"details": {
"type": "nested",
"properties": {
"name": {
"type": "text",
"analyzer": "html_stripper"
},
"elts": {
"type": "integer"
}
}
}
}
},
[
{
"code": "test",
"details": [
{"name": "test", "elts": [1,2,3,4]}
]
},
{
"code": "test2",
"details": [
{"name": "test2", "elts": [1,2,4]}
]
}
]
Я пробовал этот запрос
POST /my-index/_search
{
"size": 0,
"aggs": {
"unique_count": {
"terms": {
"field": "details.elts"
}
}
}
}
Но это не работает. Под результатом
{
"took": 2,
"timed_out": false,
"_shards": {
"total": 1,
"successful": 1,
"skipped": 0,
"failed": 0
},
"hits": {
"total": {
"value": 3,
"relation": "eq"
},
"max_score": null,
"hits": []
},
"aggregations": {
"lterms#unique_count": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": []
}
}
}
Я ожидаю, что это будет что-то вроде ведра
[
{
"key": "1",
"doc_count": 2
},
{
"key": "2",
"doc_count": 2
},
{
"key": "3",
"doc_count": 1
},
{
"key": "4",
"doc_count": 2
}
]
Подробнее здесь:
https://stackoverflow.com/questions/784 ... d-property
1715322463
Anonymous
Предполагая, что это сопоставление моего индекса ниже, я хочу создать запрос эластичной агрегации для подсчета количества документов для каждого элемента свойства тестового массива [list] [*]Сопоставление [/list] "mappings": { "properties": { "code": { "type": "keyword" }, "details": { "type": "nested", "properties": { "name": { "type": "text", "analyzer": "html_stripper" }, "elts": { "type": "integer" } } } } }, [list] [*]Пример документа [/list] [ { "code": "test", "details": [ {"name": "test", "elts": [1,2,3,4]} ] }, { "code": "test2", "details": [ {"name": "test2", "elts": [1,2,4]} ] } ] Я пробовал этот запрос POST /my-index/_search { "size": 0, "aggs": { "unique_count": { "terms": { "field": "details.elts" } } } } Но это не работает. Под результатом { "took": 2, "timed_out": false, "_shards": { "total": 1, "successful": 1, "skipped": 0, "failed": 0 }, "hits": { "total": { "value": 3, "relation": "eq" }, "max_score": null, "hits": [] }, "aggregations": { "lterms#unique_count": { "doc_count_error_upper_bound": 0, "sum_other_doc_count": 0, "buckets": [] } } } Я ожидаю, что это будет что-то вроде ведра [ { "key": "1", "doc_count": 2 }, { "key": "2", "doc_count": 2 }, { "key": "3", "doc_count": 1 }, { "key": "4", "doc_count": 2 } ] Подробнее здесь: [url]https://stackoverflow.com/questions/78458293/unique-count-of-a-document-based-on-an-array-property-of-a-nested-property[/url]