您的位置:首页 > 移动开发

elasticsearch设置之setting、mapping相关

2018-11-18 13:26 483 查看

一、setting相关
1.静态设置:只能在索引创建时或在状态为 closed index(闭合索引)上设置

参数 说明
index.number_of_shards 主分片数,默认为5.只能在创建索引时设置,不能修改
index.shard.check_on_startup 是否应在索引打开前检查分片是否损坏,当检查到分片损坏将禁止分片被打开。false:默认值;checksum:检查物理损坏;true:检查物理和逻辑损坏,这将消耗大量内存和CPU;fix:检查物理和逻辑损坏。有损坏的分片将被集群自动删除,这可能导致数据丢失
index.routing_partition_size 自定义路由值可以转发的目的分片数。默认为 1,只能在索引创建时设置。此值必须小于index.number_of_shards
index.codec 默认使用LZ4压缩方式存储数据,也可以设置为 best_compression,它使用 DEFLATE 方式以牺牲字段存储性能为代价来获得更高的压缩比例

2.动态设置

参数 说明
index.number_of_replicas 每个主分片的副本数。默认为 1。
index.auto_expand_replicas 基于可用节点的数量自动分配副本数量,默认为 false(即禁用此功能)
index.refresh_interval 执行刷新操作的频率,这使得索引的最近更改可以被搜索。默认为 1s。可以设置为 -1 以禁用刷新。
index.max_result_window 用于索引搜索的 from+size 的最大值。默认为 10000
index.max_rescore_window 在搜索此索引中 rescore 的 window_size 的最大值
index.blocks.read_only 设置为 true 使索引和索引元数据为只读,false 为允许写入和元数据更改。
index.blocks.read 设置为 true 可禁用对索引的读取操作
index.blocks.write 设置为 true 可禁用对索引的写入操作
index.blocks.metadata 设置为 true 可禁用对索引元数据的读取和写入
index.max_refresh_listeners 索引的每个分片上可用的最大刷新侦听器数

二、mapping相关
1.基本数据类型

类型 说明
字符串类型 string,text,keyword
整数类型 integer,long,short,byte
浮点类型 double,float,half_float,scaled_float
逻辑类型 boolean
日期类型 date
范围类型 range
二进制类型 binary

2.字符串类型
(1)string
string类型在ElasticSearch 旧版本中使用较多,从ElasticSearch 5.x开始不再支持string,由text和keyword类型替代。
(2)text
当一个字段是要被全文搜索的,比如Email内容、产品描述,应该使用text类型。设置text类型以后,字段内容会被分析,在生成倒排索引以前,字符串会被分析器分成一个一个词项。text类型的字段不用于排序,很少用于聚合。
(3)keyword
keyword类型适用于索引结构化的字段,比如email地址、主机名、状态码和标签。如果字段需要进行过滤(比如查找已发布博客中status属性为published的文章)、排序、聚合。keyword类型的字段只能通过精确值搜索到。

3.字符串类型可接受参数

三、analysis相关

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: