当前位置: 首页 > 知识库问答 >
问题:

嵌套文档&使用Spring Boot+Spring Data Elasticsearch进行父/子设置

苏麒
2023-03-14

根据官方的elasticsearch的说法,我知道嵌套需要在添加/删除/更新操作时将父级与其子级重新绑定,因此当需要大量修改时代价很高。

使用嵌套的示例

@Document(indexName = "test-index-person-multiple-level-nested", type = "user", shards = 1, replicas = 0, refreshInterval = "-1")
public class PersonMultipleLevelNested {
    @Id
    private String id;

    private String name;

    @Field(type = FieldType.Nested)
    private List<GirlFriend> girlFriends;

    //Getter, setter & constructor
}

共有1个答案

桓智敏
2023-03-14

不确定文档,但有一个针对该特性的单元测试:https://github.com/spring-projects/spring-data-elasticsearch/blob/master/src/test/java/org/springframework/data/elasticsearch/entities/parententity.java-请特别参见@parent

 类似资料:
  • 问题内容: 我正在为我们运行概念验证,以便对ES中更多“标准化”的数据运行嵌套查询。 例如带有嵌套 客户->-名称 -电子邮件-事件->-创建-类型 现在,我可以将给定客户的事件列表移至另一位客户。例如,客户A有50个事件客户B有5000个事件 我现在想将所有事件从客户A移动到客户B 拥有数百万客户的规模,并且在UI中针对图形进行查询,Parent / Child更适合还是应该能够嵌套处理? 在我

  • 我很好奇在我的主模式中使用子文档和更深层文档的利弊: 或者 我目前到处都在使用subdocs,但我主要想知道我可能遇到的性能或查询问题。

  • 假设模型: 由于用户是“嵌套”类型,我想使用多匹配查询来选择在父级和内部层匹配的匹配文档(和内部命中)。 搜索应该给我上面的文档以及所有内部命中,因为它在父级别上完全匹配。 搜索应该会给我上面的文档,但只与第一个内部命中匹配,因为它在父级上不匹配,也与第二个内部命中不匹配。 搜索<code>粉丝Smith</code>应该会给我上面的文档,但只有第一个内部命中,因为组合结果与父字段和第一个内部击中

  • 问题内容: 我在基于所选嵌套文档中的值对文档进行排序时遇到问题。我正在使用这样的设置: 我要检索的是具有所选子代ID的文档,这些文档将按所选子代的大小进行排序。因此查询看起来像: 在此查询中,无论我输入“ order”字段(asc还是desc),返回的文档都是相同的顺序。可能是什么问题? 问题答案: 看起来您构建嵌套过滤器的方式不正确。您在这里列出的内容也不适合我。 但是当我替换这个: 有了这个:

  • 将mongodb与pymongo一起使用,我有以下文档: 我想更新示例子文档(这是一个数组元素,因为可能有多个示例)。我有以下代码,但它不工作... 谁能告诉我这个有什么问题吗?

  • 如何用条件(type=“block”)对所有记录进行分组? 我已尝试:db.itr.aggregate({$match:{“UIN”:“1396599472869”}},{$project:{“VM”:1}},{$group:{_id:null,r1:{$push:“$VM”}}},{$unwind:“$R1”},{$group:{_id:null,r2:{$push:“$R1”}},{$unwi