【问题标题】:elasticsearch in memory speed内存速度的弹性搜索
【发布时间】:2014-07-31 11:05:28
【问题描述】:

我正在尝试测试使用 elasticsearch 的内存解决方案的速度有多快。

为此,我编写了一个测试,其中我生成了约 1000 万条记录,然后执行文本搜索。结果在 3-20 毫秒内出现,但是当我在内存中进行搜索并且没有此设置时(完全没有区别)。是否可以? 1000 万条记录太小,看不出有什么区别吗?我什至不能 100% 确定我是否正确启用了内存模式。我从一个 json 文件加载设置,我在其中放置了一些我在互联网上找到的设置,这些设置应该可以改善整体解决方案,但它似乎根本不起作用。

关于索引的设置如下:

"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
    }
},

【问题讨论】:

    标签: performance search elasticsearch in-memory


    【解决方案1】:

    我不知道您是否明智地使用内存存储。你可以匹配你需要什么类型的存储here.

    但是,您必须在创建索引时提供存储设置(确保该索引以前不存在)

    试试这个,

    curl -XPUT "http://localhost:9200/my_index/" -d'
    {
        "settings": {
            "index.store.type": "memory"
        }
    }'
    

    这将创建索引,该索引将使用 Lucene 的 RamIndexStore 将索引存储在主内存中。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-24
    • 2012-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-04
    • 1970-01-01
    • 2021-11-23
    相关资源
    最近更新 更多