ElasticSearch如何处理可能包含值或对象的单个字段

时间:2018-02-13 01:24:43

标签: elasticsearch

所以我第一次尝试使用ElasticSearch,并且在将日志放入其中时遇到了一些麻烦。

日志的一部分(它被索引到" index_a")我看起来有这样的问题:

    .
    .
    .
"parameters" {
    "Types": {
        "Name":"Name A",
        .
        .
    }
}
    .
    .
    .

哪个不是问题,但有时候," index_a"得到一个如下所示的日志:

    .
    .
    .
"parameters" {
    "Types": {
        "Name":{
               "First":"Name A",
               "Second":"Name B",
               "Third": ...
                     .
                     .
                     .
               }
        .
        .
    }
}
    .
    .
    .

我想在Kibana看到这样的事情:

Name.First,
Name.Second,
    .
    .
    .

ElasticSearch会对此产生错误,说索引是期望一个对象,但收到一个具体值(反之亦然,具体取决于首先动态映射的日志)。

由于我不确定稍后我的分析需要哪些信息,我希望尽可能减少每个字段中的值(例如,如果字段" example_field&#34 ;是一本字典,我更倾向于拥有密钥:example_field中的值对分别作为单独的字段写下来,而不是字典的文本表示。)

有没有办法在不使用预处理的情况下解决这个问题? (比如LogStash)

所以,总结一下:

  1. ElasticSearch是否有办法处理可能包含多种类型值(字符串,对象等)的单个字段
  2. 可以在不使用预处理阶段(基本上只是映射)的情况下完成1
  3. 谢谢!

0 个答案:

没有答案