【问题标题】:How to solve the indexing error in couchbase elasticsearch replication?如何解决 couchbase elasticsearch 复制中的索引错误?
【发布时间】:2015-02-07 17:54:45
【问题描述】:

我正在尝试解决这个问题,同时将我的数据从 couchbase 服务器复制到 elasticsearch。

复制时出错:对象映射 [place] 试图序列化一个没有与之关联的字段的值,当前值 [placeName]

我的文件是 { "Name":"personname", "address":[], place:["placeName"], "zipCode" :"zipcode" }

如果此文档像这样更改,它将起作用: {
"Name":"personname", "address":[], place:[], "zipCode" :"zipcode" }

我在另一个文档中使用了与对象类型相同的名称地点。

{
   "place":{
     "name":"",
     "otherfields":""
   }
}

但我的问题是它永远不会是空的,有时包含值。

我也试过这个 { "Name":"personname", "address":[], "place":[""], "zipCode" :"zipcode" } 但遇到同样的问题。

问题在于同名映射到不同的对象类型对象和其他作为数组的字符串

我想将这两个字段保留在不同的文档中。

【问题讨论】:

  • 这是您必须在弹性搜索方面解决的问题。在此链接中面临相同的问题和可用的解决方案。stackoverflow.com/questions/21602754/…。它可能会帮助你。
  • 感谢您的建议,但我遇到了这个问题,因为在另一个文档中,我使用了与 Object 相同的字段位置。如果我想在不同的文档中保留相同的字段,我该如何解决。

标签: elasticsearch replication couchbase


【解决方案1】:

这是由您的 ElasticSearch 映射引起的。一个字段在同一个 ES 类型中不能有不同的数据类型。正确的解决方案是使用插件的类型选择器功能来确保将不同的文档模式分配给不同的 ES 类型——这将防止映射冲突。

这里解释了如何通过传输插件的类型选择器功能将不同的文档从CB映射到不同的ES类型:http://docs.couchbase.com/admin/elastic/adv-usage.html(向下滚动到名为“设置文档类型”的部分)

【讨论】:

    猜你喜欢
    • 2018-06-10
    • 1970-01-01
    • 2020-12-18
    • 2016-05-30
    • 2017-04-29
    • 2020-09-22
    • 1970-01-01
    • 2012-05-14
    • 2014-09-20
    相关资源
    最近更新 更多