不能在 Elasticsearch 中使用字符串作为 _id 的值

Can't use string as a value for _id in Elasticsearch

嘿嘿,
我们有一个带有 属性 Id 的文档对象(我们知道自动映射到 _id 字段)我们可以让它作为 intSystem.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; }
    ...
}

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

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