多个分片和父/子的问题

时间:2013-10-05 07:06:43

标签: elasticsearch tire

我已经嵌套了文档,因为我只有一个碎片,所以在dev中一切都很好,但在生产中它失败并显示以下消息:

{"error"=>"RoutingMissingException[routing is required for [users]/[timeline_post]/[1]]", "status"=>500}

记录的查询是:

curl -X POST "http://foo.qbox.io/users/timeline_post/1?parent=23" -d '{"id":1,"body":"foo"}'

我认为如果提供父级,则无需指定路由。

请问这里有什么问题吗?

仅供参考,我给了other details here

1 个答案:

答案 0 :(得分:1)

我的猜测是你在映射中设置了routing.required = true。设置父文档默认情况下仅使用父文档名称进行路由(请注意,它仅使用文档名称,并且不会对文档所在的分片进行任何查找)。当您进行自定义路由时,您还需要在包含父项的文档中包含路由,并确保每个文档的路由方式与其父文档相同。