说我的文件看起来像这样:
{
"url": "http://example.com/blog/title-of-some-blog-post",
"author": "John Smith"
}
假设我有一个名为blog
的ElasticSearch索引,其中包含一个名为post
的类型。此类型包含上述文档。我希望上述文档的_id
为title-of-some-blog-post
。我的类型映射应该是什么样的?
到目前为止,我已经能够使_id
与url
字段相同,但这意味着_id
也包含“http://example.com/blog/”,我希望省略。我用来实现这一目标的映射是:
"post": {
"_id": {
"type": "string",
"path": "url"
}
有没有办法将正则表达式应用到url
字段,这样我就可以在最右边的斜杠之后将所有内容提取到_id
?
答案 0 :(得分:0)
没有开箱即用的方法可以根据您的实际字段动态生成字段。虽然该功能可能包含类似的功能,但现在您只需要添加一个包含所需内容的字段,或者甚至更好地在文档之外提供ID。后者会更好,因为_id
字段用于决定文档的路由,如果它是文档的一部分,则需要解析文档以了解它们应该去的位置。