一.ES怎么存储数据?
ES是一个分布式文档数据库,其中每个字段均可被索引,而且每个字段的数据均可被搜索,能够横向扩展至数以百计的服务器存储以及处理PB级的数据。
使用磁盘存储,
es建索引写入数据,数据最先是存在内存buffer里的,然后再刷入到lucene的底层文件segment中;写入segment完毕后再执行refresh操作,refresh操作后,数据将commit到磁盘中(删除translog文件,translog存在的意义就是保证数据刷入的可靠性,防止数据丢失)。数据刷入到了磁盘,就可以执行查询操作了。
过程简单描述如下:内存buffer–>segment–>refresh–>磁盘
二.索引的创建
1.网页新建索引
索引名称
分片数 默认5个
副本数 默认1个
2.带有类型和映射的索引;
请求提交
{
"settings": {
"number_of_shards": 3,
"number_of_replicas": 2
},
"mapping": {
"_doc": {
"properties": {
"commodity_id": {
"type": "long"
},
"commodity_name": {
"type": "text"
},
"picture_url": {
"type": "keyword"
},
"price": {
"type": "double"
}
}
}
}
参考地址:
https://www.cnblogs.com/quanxiaoha/p/11532487.html
https://elasticsearch.cn/article/6178