Performance 内存速度中的弹性搜索
我正在尝试测试使用elasticsearch的内存解决方案会快多少 为此,我编写了一个测试,其中Im生成了约1000万条记录,然后执行文本搜索。结果在3-20ms内出现,但当我在内存中进行搜索时,没有此设置,没有任何差异(根本没有)。可能吗?1000万条记录是否太小而看不出任何区别?我甚至不能100%确定我是否正确启用了内存模式。我从一个json文件中加载设置,在这个文件中我放置了一些我在internet上找到的设置,这些设置本来应该可以改进整个解决方案,但看起来根本不起作用 有关索引的设置如下所示:Performance 内存速度中的弹性搜索,performance,search,elasticsearch,in-memory,Performance,Search,elasticsearch,In Memory,我正在尝试测试使用elasticsearch的内存解决方案会快多少 为此,我编写了一个测试,其中Im生成了约1000万条记录,然后执行文本搜索。结果在3-20ms内出现,但当我在内存中进行搜索时,没有此设置,没有任何差异(根本没有)。可能吗?1000万条记录是否太小而看不出任何区别?我甚至不能100%确定我是否正确启用了内存模式。我从一个json文件中加载设置,在这个文件中我放置了一些我在internet上找到的设置,这些设置本来应该可以改进整个解决方案,但看起来根本不起作用 有关索引的设置如下
"index": {
"store": {
"type":"memory"
},
"merge": {
"policy": {
"use_compound_file": false
}
},
"translog": {
"flush_threshold": 50000
},
"engine": {
"robin": {
"refresh_interval": 2
}
},
"cache": {
"field": {
"max_size": 500000,
"expire": "30m"
}
}
},
"indices": {
"memory": {
"index_buffer_size": 256
}
},
我不知道你是否明智地使用内存存储。您可以只匹配您需要的存储类型 但是,在创建索引时,必须提供存储设置(确保该索引以前不存在) 试试这个
curl -XPUT "http://localhost:9200/my_index/" -d'
{
"settings": {
"index.store.type": "memory"
}
}'
这将使用Lucene的RamIndexStore创建索引,将索引存储在主内存中。在Elasticsearch 2.0+中删除了内存中的存储选项: