在弹性搜索中添加没有现有父文档的子文档

时间:2014-06-03 10:41:05

标签: elasticsearch

当我索引没有现有父文档的子文档时(我传递的是随机父ID),它可以正常工作并索引子文档。我希望它能给出一个错误,所以我可以检查父文档是否存在。如果没有正确的父文档,我将如何阻止它被编入索引?

1 个答案:

答案 0 :(得分:2)

ElasticSearch实际上是如何运作的(至于它是不正确的)。它没有参考保护。 ElasticSearch不是一个非常注重参照完整性的RDBMS。 ES专注于性能,可用性等 - 在某种程度上你必须牺牲整合的东西,因为在大多数情况下确保整合是一件昂贵的事情。 ES经常被看作(有时实际使用)作为面向对象的NoSQL数据源。对于NoSQL DB而言,缺乏参考集成是一件很常见的事情。

您可以在此处详细了解此信息 - https://www.found.no/foundation/elasticsearch-as-nosql/

  

大多数关系数据库还允许您指定约束来定义什么是和不一致。例如,可以强制执行参照完整性和唯一性。您可以要求帐户移动的总和必须为正,依此类推。面向文档的数据库往往不会这样做,而Elasticsearch也不例外。