【问题标题】:Does elastic search keep index and document both in cache?弹性搜索是否将索引和文档都保存在缓存中?
【发布时间】:2018-06-23 08:24:00
【问题描述】:

我已经阅读了link 和一些关于弹性搜索(ES)的教程 我的问题是 ES 是否将索引和文档(要搜索)都保存在缓存/内存下?

假设我在数据库中创建了这本书,返回的主键是 1001。现在我将相同的文档存储在 ElasticSearch 下。 这是我的网址(http://localhost:9200/bookstore/books/1001),用于创建 ID 为 1001(1001 是数据库的主键)及以下的书籍 是文件

    {
      "title": "Java 8 Optional In Depth",
      "category":"Java",
      "published_date":"23-FEB-2017",
      "author":"Rambabu Posa"
    }

我的理解:-

  1. 我相信它会默认在所有字段(title, category, published_date, author)上创建索引
  2. ES 将文档和索引都存储在内存中?

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:
    1. 是的
    2. 是和不是。实际上,操作系统将索引文件缓存在 RAM 中,并在这里发挥了重要作用

    【讨论】:

    • 值得一提的是,在 Elasticsearch 在磁盘上创建 Lucene 索引之前,所有最近的数据只存储在 RAM 中。可以通过refresh_interval设置配置RAM中累积的所有数据转储到磁盘索引之前的时间。
    • @dadoonet 你能详细说明第 2 点吗?我相信您的意思是文档和索引都存储在内存中,但它是由操作系统而不是 ES 完成的。 ES 只使用操作系统缓存。对吗?
    • 文档和索引存储在磁盘中的文件中。文件在频繁读取时会被操作系统缓存。
    • 有没有办法可以配置 ES 来缓存文件(而不是将其存储在磁盘上或同时存储在磁盘上)?
    • 没有。为什么要这么做?您可以挂载 RAM 磁盘并将其用作数据路径
    猜你喜欢
    • 1970-01-01
    • 2015-12-18
    • 1970-01-01
    • 1970-01-01
    • 2018-11-25
    • 2015-06-01
    • 2015-09-05
    • 2020-10-26
    • 1970-01-01
    相关资源
    最近更新 更多