我正在寻找一种模拟在索引中具有特定_id字段的状态。
假设我要在示例中从index1获取完全相同的日志,然后将其索引到index2中。
像这样:
这是我的 index1
{
_index: "index-number-one",
_type: "doc",
_id: "S0meSpec!f!cID",
_score: 1,
_source: {
message: "message1",
type: "type1",
tags: [
"_bla"],
number: 3
}
}
现在我要在 index2
中使用完全相同的日志{
_index: "index-number-two",
_type: "doc",
_id: "S0meSpec!f!cID",
_score: 1,
_source: {
message: "message1",
type: "type1",
tags: [
"_bla"],
number: 3
}
}
在Elasticsearch中找不到可以将文档插入具有特定_id字段的索引的API ...(?)
如果无法执行此操作,从而使Elasticsearch集群在_id字段中没有重复项,我可以想象是因为他们想保留通过_id搜索文档的能力 字段,该字段必须是唯一的,在这种情况下,假设我不介意从 index1 中删除整个文档(也许可以将其另存为代码中的某些变量) ,但是最后,我需要 index2 中的文档,使EXACT _id像 index1
如果有一种方法可以编辑现有的_id字段,那么它也可以解决我的问题。
任何人都可以阐明如何实现该目标吗?
答案 0 :(得分:1)
对自己的回答, 我发现可以在索引的POST请求中完成,如下所示:
POST twitter/test-index-1234/abctype/Som3Cust0mID
{
"user" : "kimchy",
"post_date" : "2009-11-15T14:12:12",
"message" : "trying out Elasticsearch"
}
以及ES中的结果:
{
_index: "test-index-1234",
_type: "abctype",
_id: "Som3Cust0mID",
_score: 1,
_source: {
user: "kimchy",
post_date: "2009-11-15T14:12:12",
message: "trying out Elasticsearch"
}
}
答案 1 :(得分:0)