ES 索引模板和动态模板

ES 索引模板和动态模板,第1张

设定mapping和setting,并按照一定的规则自动匹配到新创建的索引上。

案例格式

当一个索引被创建的时候,工作模式如下

查看mapping结果符合预期

用于根据ES识别的数据类型,结合字段名称,来动态的设定字段类型。比如:

说明:

格式案例:

公司的电商app需要做搜索功能,分析整理后列出如下需求点:

接下来就是愉悦(tongku)的设计和coding了

商品表已经在业务库中存在直接用,只需要设计出es索引就可以。es安装后顺带装上jk、pinyin插件,因为后续要用到拼音功能,不过在本阶段先不管拼音的事儿。

产品表定义:

产品类对应Repository定义:

maven-pom文件增加引用

applicationyml文件添加es相关配置

以上定义完成后,启动项目,成功后可以看到如下提示(debug级别下):

如果没有伴随出现报错信息(es索引配置有误,不能创建索引时会给出相应提示),此时es中的 product 索引应该已经成功创建了。

使用es GET /demo-product/_mapping 命令可查看索引结构已经完整创建:

索引表的插入,可使用spring-boot的@Schedule定时器,以指定间隔扫描产品表的新增数据,以es对应product表的字段封装后,插入es索引即可

此时索引表结构和数据已经准备就绪,可以开始写查询方法了!

我们先准备一些测试商品数据:

  此处有一点需要注意,由于商品品牌名称大多为互相无关联意义的字组成,如果使用默认分词,会被分的很散,不符合要求,所以需要将品牌名中文部分列出来,加入到ik分词插件的扩展词典中去,此处不展开。

  分析一下搜索需求,当用户传入搜索关键词后,需要在商品名称、描述、类目名称和品牌名称四个字段中做match *** 作,暂定互相之间的权重比为05:01:02:1,可使用NativeSearchQuery创建查询方法:

  打开浏览器,输入 /product/风衣%20毛衣/1/10 ,可以得到如下结果:

至此,第一步工作算是暂时完成。

es服务器磁盘被写满 达到百分之九十 导致es触发写保护 在kibana上只能看到索引但是不能删掉

报错如下

Elasticsearch indexblocksread_only_allow_delete

解决方法

1:查看es上面所有的索引

2:删除过期的索引

此时已经将空间清理完毕,在只需要打开es的写权限日志就可以写入es并用过kibana展示出来

打开写权限有两种方式

1:直接用命令的方式

2:在kibana上面 *** 作

点击management--选择index Management

选择需要 *** 作的索引

索引管理 使您能够查看索引设置、映射和统计信息并执行索引级 *** 作。这些包括刷新、刷新、清除缓存、强制合并段、冻结索引等等。实践良好的索引管理有助于确保以最具成本效益的方式存储您的数据。

索引管理 还可以帮助您创建索引模板。使用索引时,模板减少了簿记的数量。您可以从模板自动创建索引,而不是手动设置索引,以确保一致地定义您的设置、映射和别名。

要管理您的索引,请转到 Management > Elasticsearch > Index Management

如果启用了安全性,您必须具有 monitor 集群权限 view_index_metadata 和 manage 索引权限才能查看数据。对于索引模板,您必须具有 manage_index_templates 集群权限。有关详细信息,请参阅 安全权限 。

在使用此功能之前,您应该熟悉索引管理 *** 作。请参阅 索引管理 API 和 索引模板 API 。

当您打开 Index Management 时,您会看到已配置索引的概览。标记指示索引是否已 冻结 、 关注者索引 或 汇总索引 。

单击标记会将列表缩小到仅该类型的索引。您还可以使用搜索栏过滤您的索引。

您可以深入每个索引以调查索引 设置 、 映射 和统计信息。从此视图中,您还可以编辑索引设置。

使用“ 管理 ”菜单执行索引级 *** 作。此菜单在索引详细信息视图中可用,或者当您在概览页面上选中一个或多个索引的复选框时可用。该菜单包括以下 *** 作:

索引模板定义了 可以在创建新索引时自动应用的 设置 、 映射 和 别名。 Elasticsearch 根据与索引名称匹配的索引模式将模板应用于新索引。

Index Templates 视图列出了您的模板,并允许您检查、编辑、克隆和删除它们。您对索引模板所做的更改不会影响现有索引。

如果您没有任何模板,您可以使用 创建模板 向导创建一个。索引模板在索引创建期间应用,因此您必须在创建索引之前创建模板。

在此示例中,您将为随机生成的日志文件创建一个索引模板。

打开 创建模板 向导,然后 logs_template 在 名称 字段中输入。将 索引模式 设置为, logstash 以便模板匹配具有该索引模式的任何索引。合并顺序和版本都是可选的,在此示例中您将它们留空。

创建模板 向导的第二步允许您定义索引设置。这些设置是可选的,本示例跳过此步骤。

日志数据集需要映射以通过应用 geo_point 类型将纬度和经度对标记为地理位置。在向导的第三步中,按如下方式定义此映射:

第四步,定义一个别名logstash

模板摘要在步骤 5 中。如果一切正常,请单击创建模板。

此时,您已准备好使用 Elasticsearch 索引 API 加载日志数据。在 Kibana Console中,索引两个文档:

映射和别名是根据模板自动配置的。 要进行验证,您可以使用索引 API 查看新创建的索引之一。

上一篇文章

es 创建动态索引(一) ,通过el表达式 修改 @Document 里 indexName 值,实现 es 动态索引。

>

以上就是关于ES 索引模板和动态模板全部的内容,包括:ES 索引模板和动态模板、基于es的商品搜索功能实现(上)、elasticsearch 触发写保护等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9707389.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存