当前位置: 首页 > 面试题库 >

elasticsearch 2.0亲子孙子

陈浩
2023-03-14
问题内容

我的操作:

父母:国家/地区,孩子:分支机构,孙子:员工

PUT / company {“ mappings”:{“ branch”:{“ _parent”:{“ type”:“ country”}}},“
employee”:{“ _parent”:{“ type”:“ branch”}}}}}

我想添加一个孙子雇员2,父母是分支:

PUT / company / employee2 / _mapping {“ employee2”:{“ _parent”:{“ type”:“
branch”}}}

我收到错误消息:

{“ error”:{“ root_cause”:[{“ type”:“ illegal_argument_exception”,“
reason”:“无法添加指向已存在类型的_parent字段”“}],” type“:” illegal_argument_exception“
,“原因”:“无法添加指向现有类型的_parent字段”},“状态”:400}

我不知道该怎么办。有什么建议吗?谢谢。


问题答案:

这是Elasticsearch
2.0中施加的限制。在2.0的重大更改中提到了这一点。但是,这背后的原因在文档中尚不清楚。

以下是Elasticsearch开发人员在elasticsearch上发布的martijnvg讨论线程:

新的子类型不能将现有类型指定为父类型。

这与以下事实有关:对于新的父/子实现,父和子类型都将id存储在连接字段中。如果类型在创建后成为父项,则可能已索引未在连接字段中存储其ID的父级文档。因此,存在此限制。

这仅适用于升级到ES 2.0之后创建的新索引。出于迁移目的,此限制不适用于升级到ES 2.0之前创建的索引。实际上是在ES
1.x上创建的,并且在使用旧的父/子实现之前。

您可以在这里阅读有关内容:https : //discuss.elastic.co/t/adding-child-types-
in-2-0/33267



 类似资料:
  • 说了这话,又勾起了绝影颇多的联想,半晌,他才语重心长地说:“BOSS此言差矣。你今天说我们最需要的也许并不是技术,这让我想起好多以前的事了。你知道燕儿为什么要跟我分手吗?她跟我说:‘你确实对我很好,也给了我很多,可是几年下来,我渐渐发现你给我的其实并不是我想要的。’我问她:‘那你想要什么呢?’她也答不上来,只是说:很多她想要的东西别人轻轻松松就能给她,在她生气的时候别人很容易就能哄她开心,别人说的

  • 问题内容: 我对SQL还是很陌生,试图绕过它,但是有点令人困惑。这是我正在使用的东西的简化版本。 我有这张桌子叫: 上表是人员清单。他们的parent_id列指的是他们的父母。如果表上没有父母,则他们的parent_id为0。 现在,我希望能够获得每组人的单独列表:祖父母,子女和孙子女。 很容易获得祖父母(拉里和凯文),我可以执行以下查询: 但是当涉及到生子(约翰,拉里,杰森和米尔德雷德)和孙子(

  • 我有一个动态生成的树视图。我的问题是,它添加相同的节点-它从另一个应用程序接收列表,虽然其中相同的项目是重复的,但我不想在我的树视图中包括重复的项目。我试图避免在第一种情况下添加节点;但是失败了。我检查是否存在的代码如下(尝试了一些): 和

  • 问题内容: 在sql关系中,父级是什么,子级是什么? 就我而言,我有一个零件(说螺丝)和产品材料。出于争论的考虑,一种产品材料(例如钢)只能属于一个零件(但不能属于现实世界)。所以这是1:n。该零件的pk将在ProductMaterial表中以fk表示。 在这种情况下,哪个是父母,哪个是孩子? 问题答案: 您可以通过以下方式解释数据库中的1:n关系:子代始终是该模型,该模型保存着外键,因为它表明了

  • 我是一个初级程序员,努力理解我应该如何处理孙子状态(或者看看有孙子状态是否是个好主意)。 我的问题是。。。 1.是否可以通过更改孙子? 2.在美国生孙子是个坏主意吗? 为了举例说明,这里是一个组件的构造函数。 我把看作是子,而看作是孙子。 这里是一个JSX。 当触发时,我想验证函数'this.submit'中的输入。 在这个例子中,应该被设置(即更改),但是上面的代码不起作用。 也许分解此应用程序

  • 我有一个活动是持有5个片段。其中一个片段是持有5更多的碎片。如果我添加到片段管理器a. addToBackStack(空)。返回按钮返回到活动的最后一个片段,而不是从“父亲”片段的最后一个片段(即持有5更多的片段)。 有什么帮助吗。。 编辑: