У меня есть, как мне кажется, большой набор документов в экземпляре ElasticSearch, если быть точным, 1321587763. Мне не удалось настроить правильное индексирование перед созданием набора, поэтому я переиндексирую их в новый набор data_ с индексом, установленным как
PUT /data_
{
"settings": {
"index": {
"number_of_shards": "2",
"number_of_replicas": "1",
"analysis": {
"analyzer": {
"lsh": {
"type": "custom",
"tokenizer": "whitespace"
}
}
}
}
},
"mappings": {
"properties": {
"arrayinstance": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"bearing": {
"type": "long"
},
"hashstring": {
"type": "text",
"analyzer": "lsh"
},
"sample": {
"type": "float"
},
"sampleindex": {
"type": "long"
}
}
}
}
В соответствии с рекомендациями, я установил параметры как
PUT /portland_/_settings
{
"index" : {
"refresh_interval" : -1,
"number_of_replicas" : 0
}
}
Затем я переиндексировал свои исходные данные в data_ как
POST _reindex?wait_for_completion=false&slices=4
{
"source": {
"index" : "sourcedata_",
"size": 1000
},
"dest": {
"index" : "data_",
"version_type": "external",
"op_type": "create"
},
"conflicts": "proceed"
}
Первоначально он шел довольно быстро, отбрасывая 20-50 МБ данных в секунду на data_, но он постепенно снижался до 500 КБ или менеев секунду. Я ограничен аппаратным обеспечением MacBook 16G с 10G, выделенным для ES, и экземпляр ES распределен по двум внешним дискам USB3.0, но монитор активности OS X не показывает, что ноутбук работает под нагрузкой при максимальной загрузке процессора 400% из 800% возможного (4-ядерная гиперпотоковость) и без чрезмерного давления на использование ОЗУ.
Что я делаю не так?
Помогите советам критике, все одинаково приветствуются
Ник