无法在Elasticsearch中将字符串用作_id的值

时间:2018-05-08 15:55:47

标签: c# elasticsearch nest

Heyo,
我们有一个包含属性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; }
    ...
}

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

另一个选项是为您的所有字段创建正确的映射,以便禁用自动推理。