通过解析_source文档中的字段来设置_id

时间:2014-03-08 00:51:45

标签: elasticsearch mapping

说我的文件看起来像这样:

{
  "url": "http://example.com/blog/title-of-some-blog-post",
  "author": "John Smith"
}

假设我有一个名为blog的ElasticSearch索引,其中包含一个名为post的类型。此类型包含上述文档。我希望上述文档的_idtitle-of-some-blog-post。我的类型映射应该是什么样的?

到目前为止,我已经能够使_idurl字段相同,但这意味着_id也包含“http://example.com/blog/”,我希望省略。我用来实现这一目标的映射是:

"post": {
  "_id": {
    "type": "string",
    "path": "url"
  }

有没有办法将正则表达式应用到url字段,这样我就可以在最右边的斜杠之后将所有内容提取到_id

1 个答案:

答案 0 :(得分:0)

没有开箱即用的方法可以根据您的实际字段动态生成字段。虽然该功能可能包含类似的功能,但现在您只需要添加一个包含所需内容的字段,或者甚至更好地在文档之外提供ID。后者会更好,因为_id字段用于决定文档的路由,如果它是文档的一部分,则需要解析文档以了解它们应该去的位置。