使用 shuf 来打乱一个文件中的行或是选择文件中一个随机的行。

怎么设置让索引文件全部在内存中查询

Elasticsearch | 作者 huigy | 发布于2017年03月31日 | 阅读数:7237

因为数据量才60万,索引文件才150m,系统有32G内存,一个节点。所以想全部放到内存,是不是效率会高很多呢
已邀请:

kennywu76 - Wood

赞同来自: huigy kwan

v5.x有个索引级别的设置,可以让索引在被打开的时候就全部装载到内存,参考:
https://www.elastic.co/guide/e ... cache
 
如果是早一些的版本就没有这个功能了,但其实这么小的索引,磁盘IO方面应该不是一个大问题,搜索几次数据文件在内存里逐步warm up起来后,效率也不比全部放内存差。

jerryhouse - 搜索工程师,技术网站:www.dcharm.com

赞同来自: huigy

不会

kennywu76 - Wood

赞同来自: huigy

这些都是底层lucene文件的后缀,代表索引的不同组成部分,比如"*.nvd"文件保存的是文档和字段长度、boost参数。 完整的lucene后缀名称及其含义见: http://lucene.apache.org/core/ ... ption
 
 

huigy

赞同来自:

那是不是每次查询返回的hits都会缓存,这样逐步就把所有数据都读取出来了。。。

jerryhouse - 搜索工程师,技术网站:www.dcharm.com

赞同来自:

将索引的存储类型设置为内存映射文件"index.store.type": "niofs"
 

huigy

赞同来自:

全部内存,对增删没有影响吧。

huigy

赞同来自:

再辛苦解释些,这些字段表示什么["nvd", "dvd", "tim", "doc", "dim"]

huigy

赞同来自:

thks kennywu76

要回复问题请先登录注册