代码之家  ›  专栏  ›  技术社区  ›  Omar Himada

无法在Elasticsearch中将字符串用作\u id的值

  •  1
  • Omar Himada  · 技术社区  · 6 年前

    你好,
    我们有一个具有属性的文档对象 Id (我们知道自动映射到 _id 现场),我们可以将其作为 int 和a System.Guid

    然而,当我们将其更改为更适合我们的用例的字符串时,在尝试索引时会出现以下异常:

    mapper_parsing_exception Reason: failed to parse [id] CausedBy: Type: illegal_argument_exception Reason: For input string: "R700"

    不太确定在这里尝试什么。我们想要一根绳子 _id号 根据在线资源,我们应该能够做到这一点,但我们得到了这个例外。 非常感谢您的帮助!

    编辑 :我们正在从POCO上名为Id的属性推断Id,我应该澄清一下。 示例:

    public class MyDocument {
        public string Id { get; set; }
        ...
    }
    
    2 回复  |  直到 6 年前
        1
  •  3
  •   Aaron M. Eshbach    6 年前

    如果已经创建了Id字段为int或guid的索引,则需要使用Id字段为字符串的新POCO重新创建索引,然后才能将该类型存储在索引中。

        2
  •  1
  •   v.karbovnichy    6 年前

    另一个选项是为所有字段创建适当的映射,以便禁用自动推断。