不能在 Elasticsearch 中使用字符串作为 _id 的值
Can't use string as a value for _id in Elasticsearch
嘿嘿,
我们有一个带有 属性 Id
的文档对象(我们知道自动映射到 _id
字段)我们可以让它作为 int
和 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; }
...
}
如果您已经使用 int 或 guid 作为 Id 字段创建了索引,则需要先使用将字符串作为 Id 字段的新 POCO 重新创建索引,然后才能将该类型存储在指数.
另一种选择是为所有字段创建适当的映射,以便禁用自动推理。
嘿嘿,
我们有一个带有 属性 Id
的文档对象(我们知道自动映射到 _id
字段)我们可以让它作为 int
和 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; }
...
}
如果您已经使用 int 或 guid 作为 Id 字段创建了索引,则需要先使用将字符串作为 Id 字段的新 POCO 重新创建索引,然后才能将该类型存储在指数.
另一种选择是为所有字段创建适当的映射,以便禁用自动推理。