Elasticsearch使用中遇到的问题-Nested

实战Elasticsearch,因为之前只写过简单demo,在项目实战中遇到了不少问题。
以前只知道Elasticsearch是支持数组对象的。在本次开发中也用到了。并且经过了测试,预发,到了生产环境。数据量上来之后,发现当我使用数组对象单字段查询时并不会出现问题。当多个字段去匹配时,结果却出现了不满足条件的数据。

通过万能的搜索引擎了解到。当我们没有定义数组对象的类型时。因为elasticsearch使用的库没有内部对象的概念,因此内部对象被扁平化为一个简单的字段名称和值列表。
Elasticsearch使用中遇到的问题-Nested_第1张图片
要解决这个问题只需要将数组对象类型定义为Nested。嵌套对象就将数组中的每个对象索引为单独的隐藏文档,这意味着可以独立于其他对象查询每个嵌套对象。

关于Nested的更多资料大家可以去看下面的文章。已经写的比较全了。解决了大部分问题。我这文章就不在多说了

干货 | Elasticsearch Nested类型深入详解

你可能感兴趣的:(Elasticsearch,elasticsearch)