【问题标题】:Setting _id by parsing a field in the _source document通过解析 _source 文档中的字段来设置 _id
【发布时间】:2014-04-11 09:23:42
【问题描述】:

假设我有如下文件:

{
  "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 中?

【问题讨论】:

    标签: elasticsearch mapping


    【解决方案1】:

    没有开箱即用的方法可以根据您的实际字段动态生成字段。尽管该功能中可能会出现类似的功能,但现在您只需要添加一个包含您需要的内容的字段,或者更好地在文档之外提供 id。后者会更好,因为 _id 字段用于决定将文档路由到哪里,如果它是文档的一部分,则需要解析文档才能知道它们应该去哪里。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-18
      • 1970-01-01
      • 1970-01-01
      • 2016-09-20
      • 1970-01-01
      • 1970-01-01
      • 2015-09-19
      • 2020-11-27
      相关资源
      最近更新 更多