在我看来,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_ as
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-50Mb的数据丢弃到data_上,但它的速度一直稳定地降低到每秒500k或更少。我受到硬件的限制,将16G的Macbook分配给ES,并将10G分配给ES,并且ES实例分布在两个USB3.0外部磁盘上,但是OS X的活动监视器未显示笔记本电脑在最大CPU使用率为400的情况下运行800%的内存中有%可用(4核超线程),并且对RAM使用没有过多压力。
我在做什么错了?
同样欢迎您提出帮助建议批评
尼克