elasticsearch,in-memory,Performance,Search,elasticsearch,In Memory" /> elasticsearch,in-memory,Performance,Search,elasticsearch,In Memory" />

Performance 内存速度中的弹性搜索

Performance 内存速度中的弹性搜索,performance,search,elasticsearch,in-memory,Performance,Search,elasticsearch,In Memory,我正在尝试测试使用elasticsearch的内存解决方案会快多少 为此,我编写了一个测试,其中Im生成了约1000万条记录,然后执行文本搜索。结果在3-20ms内出现,但当我在内存中进行搜索时,没有此设置,没有任何差异(根本没有)。可能吗?1000万条记录是否太小而看不出任何区别?我甚至不能100%确定我是否正确启用了内存模式。我从一个json文件中加载设置,在这个文件中我放置了一些我在internet上找到的设置,这些设置本来应该可以改进整个解决方案,但看起来根本不起作用 有关索引的设置如下

我正在尝试测试使用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+中删除了内存中的存储选项: