【问题标题】:ElasticSearch Adding field in JSON before indexingElasticSearch 在索引之前在 JSON 中添加字段
【发布时间】:2014-11-21 12:16:06
【问题描述】:

[这是我的第一篇文章,如果我做错了什么,请原谅! (也对不起我的英语不好)]

我正在尝试为 elasticsearch(Java 中)开发一个 Mapper/Plugin,它分析 JSON 的一些指定字段,并在存储和索引数据之前添加另一个带有分析结果的字段。

例如: 我从这个流行的 JSON 开始:

{
    "tweet" {
        "user" : "kimchy",
        "message" : "This is a tweet!",
        "postDate" : "2009-11-15T14:12:12",
        "priority" : 4,
        "rank" : 12.3
    }
}

而且,在索引之前,我希望它像:

{
    "tweet" {
        "user" : "kimchy",
        "message" : "This is a tweet!",
        "postDate" : "2009-11-15T14:12:12",
        "priority" : 4,
        "rank" : 12.3
        "IsKimchy" : "Yes"
    }
}

我想在这里读取“用户”字段,如果用户是 Kimchy,我将创建另一个包含“是”的字段。 如何在索引之前分析这样的字段(使用java)?

据我所知,我可以使用 Copy_to 将一个字段的内容复制到另一个字段中,所以我只能在一个字段上工作,也许它可以提供帮助?

【问题讨论】:

  • 非常感谢 Kostantintin V. Salikohov 的提示,这很有帮助,但我想在索引数据之前在 java 中进行分析!我有一个 java lib(几年前制作),我想在 elaticsearch 字段的分析中简单地实现这个功能。多亏了你,我可以复制并准备另一个领域!

标签: java json elasticsearch


【解决方案1】:

我终于找到了解决我的问题的方法,我会在这里发布,希望可以帮助其他人!

对我来说最好的解决方案(在速度和集成方面)是自定义映射器!

我曾使用此演示代码 https://github.com/dadoonet/elasticsearch-mapper-demo 来实现我的映射器类,它比脚本更快地分析 Json 并在记录中添加自定义字段!

干杯!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-09
    • 2016-11-08
    • 2018-04-10
    • 2016-08-14
    • 1970-01-01
    • 2016-03-06
    • 1970-01-01
    相关资源
    最近更新 更多