正定城乡建设局网站,中国十大seo公司,蔡甸做网站,长沙人才招聘网官网网址索引是数据的载体#xff0c;存储了文档和映射的信息
索引是具有相同结构的文档的合集体。 设置索引#xff0c;不仅仅是设置索引名字#xff0c;还有索引的一些配置#xff0c;比如#xff1a;分片和副本#xff0c;刷新频率#xff0c;搜索结果的最大参数#xff0c…索引是数据的载体存储了文档和映射的信息
索引是具有相同结构的文档的合集体。 设置索引不仅仅是设置索引名字还有索引的一些配置比如分片和副本刷新频率搜索结果的最大参数索引映射和别名。
{// 索引的设置部分settings: {// 索引级别的设置index: {// 设置索引的主分片数量通常在创建索引后不可更改number_of_shards: 3,// 设置每个主分片的副本数量可以在创建索引后动态调整number_of_replicas: 1,// 设置索引的刷新频率这里设置为每秒刷新一次refresh_interval: 1s,// 设置搜索结果的最大窗口大小限制单次搜索返回文档的数量max_result_window: 10000}},// 索引的映射部分定义文档字段的类型和属性mappings: {properties: {// 定义一个文本字段用于全文搜索title: {type: text,// 子字段用于不分词的精确匹配fields: {keyword: {type: keyword}}},// 定义另一个文本字段用于存储文章内容content: {type: text},// 定义日期字段用于存储发布日期publish_date: {type: date},// 定义关键字字段用于存储作者名字通常用于过滤和聚合author: {type: keyword}}},// 索引的别名部分为索引设置一个或多个别名aliases: {// 设置一个别名可以通过别名来操作索引myindexalias: {}}
}动态设置修改索引设置
// 动态设置刷新间隔
PUT /my_index/_settings
{index: {refresh_interval: 1s // 每秒刷新一次}
}// 动态设置副本数量
PUT /my_index/_settings
{index: {number_of_replicas: 2 // 更改副本数量为2}
}索引别名
无缝滚动索引在线无缝切换索引 索引别名可以用来实现无缝滚动索引这意味着可以在不中断服务的情况下替换旧的索引。例如你可以每天创建一个新的索引来存储当天的数据并使用别名来指向当前的索引。当需要切换到新索引时只需将别名重新指向新的索引即可。多索引检索 将多个索引A和B别名设置成相同的C那么使用这个索引别名C就能应用到两个A和B索引上相当于一个视图。
索引模板
解决的问题
数据量非常大需要对索引的生命周期进行管理要按照日期划分索引这就要求多个索引的mapping相同那么每次创建mapping都很麻烦。数据业务中有多个相同mapping的索引因为想要跨索引查询那么如何保证这些mapping相同呢
索引模板的定义
普通完全模板
{index_patterns: [myindex-*], // 匹配所有以myindex-开头的索引settings: {number_of_shards: 3,number_of_replicas: 1},mappings: {properties: {timestamp: {type: date},user: {type: keyword},message: {type: text}}},aliases: {myindex-read: {}, // 为索引创建一个别名myindex-write: {} // 为索引创建另一个别名}
}组件模板
组件模板 - 设置
{template: {settings: {number_of_shards: 3}},priority: 10
}
这个组件模板定义了索引的分片数并且设置了优先级为10。**组件模板 - 映射**
PUT _component_template/component_mappings_example
{template: {mappings: {properties: {user: {type: keyword}}}}
}这个组件模板定义了索引的映射包括一个user字段。
组件模板 - 别名
{template: {aliases: {myindex-read: {}}}
}这个组件模板定义了一个别名myindex-read。 使用组件模板创建完全模板 现在我们可以使用上面定义的组件模板来创建一个完全模板
{index_patterns: [myindex-*],composed_of: [component_settings_example, component_mappings_example, component_aliases_example],priority: 1
}