У нас есть индекс с типом соединения, и скорость индексации очень низкая. В лучшем случае мы индексируем 100 / se c, но в основном около 50 / se c, время варьируется в зависимости от размера документа. Мы используем несколько потоков с. NET Nest при индексации, но как пакетная, так и одиночная вставка выполняются довольно медленно. Мы протестировали партии разных размеров, но пока не набираем скорости. Даже с небольшими документами, содержащими «метаданные», он медленный, но скорость резко уменьшается при увеличении размера документа. Размер документа в этом решении может варьироваться от небольшого до 6 МБ
Что мы можем ожидать, используя тип данных объединения и индексацию? Какой штраф мы должны ожидать, чтобы его использовать? Конечно, мы старались избегать этого при разработке, но мы не нашли никакого пути к этому. Любые советы или хитрости?
Мы используем кластер из 3 узлов в Azure, все с 32 ГБ оперативной памяти и дисками премиум-класса SSD. Размер кучи Java установлен на 16 ГБ. Обмен отключен. Использование памяти на виртуальных машинах стабильно составляет около 60% от общего объема, но загрузка ЦП очень низкая <10%. Мы работаем с Elasticsearch v. 6.2.3. </p>
Краткая версия сопоставления:
"mappings": {
"log": {
"_routing": {
"required": true
},
"properties": {
"body": {
"type": "text"
},
"description": {
"type": "text"
},
"headStepJoinField": {
"type": "join",
"eager_global_ordinals": true,
"relations": {
"head": "step"
}
},
"id": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"statusId": {
"type": "keyword"
},
"stepId": {
"type": "keyword"
}
}
}
}