Elasticsearch中使用Runtime Fields

网站建设5年前发布
47 0 0

在我们使用es的开发过程中可能会遇到这么一种情况,比如我们的线路名称字段lineName字段在设置mapping的时候使用的是text类型,但是后期发现需要使用这个字段来进行聚合操作,那么我们除了对索引进行reindex操作外,还有什么办法可以解决这个问题呢?此处我们通过runtime field来解决。,运行时字段是在查询时评估的字段。是在es7.11之后增加的运行时字段使您能够:,202303070106286935fd954dffb760e2a476ff87392735a38e8a428,通过search request定义runtime field,我们存在一个线路mapping,其中lineName在设计的使用使用了text类型,现在我们需要根据这个字段来进行聚合操作,那么使用runtime field该如何操作呢?,注意此时的lineName的类型是text,从上方的mapping中可以lineNametext类型,是不可进行聚合操作的,那么此时我们想进行聚合操作,就可以使用runtime field来实现。,202303070111381774a39498e26f8b824147755d7c7f5a8f8eb1188,不使用runtime field,5.3.2.1 dsl,5.3.2.2 java代码,5.3.3.3 运行结果,20230307010629a18151b95812bc03683168da694209f16bbdf6328,聚合,https://gitee.com/huan1993/spring-cloud-parent/blob/master/es/es8-api/src/main/java/com/huan/es8/runtimefield/RuntimeFieldCorrectMappingError.java,1、https://www.elastic.co/guide/en/elasticsearch/reference/8.6/runtime.html​

© 版权声明

相关文章