elasticsearch 在Kibana/Elasticsearch中过滤或检查三引号JSON对象,elasticsearch,kibana,elasticsearch,Kibana" /> elasticsearch 在Kibana/Elasticsearch中过滤或检查三引号JSON对象,elasticsearch,kibana,elasticsearch,Kibana" />

elasticsearch 在Kibana/Elasticsearch中过滤或检查三引号JSON对象

elasticsearch 在Kibana/Elasticsearch中过滤或检查三引号JSON对象,elasticsearch,kibana,elasticsearch,Kibana,我一直在尝试对非索引的嵌套JSON字段进行筛选,并考虑了以下示例文档(使用Kibana开发工具检索) 自从我尝试在innerJson(未编入索引)中过滤键以来,我遇到了几个问题,但没有成功 由于它是一个JSON,所以在Kibana中是否有三个引号以便于阅读?是否可以对innerData.innerJson映射的值进行过滤,就像对当前文档字段(如innerData.innerField)进行过滤一样 GET /my_index/_search { "query": {

我一直在尝试对非索引的嵌套JSON字段进行筛选,并考虑了以下示例文档(使用Kibana开发工具检索)

自从我尝试在
innerJson
(未编入索引)中过滤键以来,我遇到了几个问题,但没有成功

由于它是一个JSON,所以在Kibana中是否有三个引号以便于阅读?是否可以对
innerData.innerJson
映射的值进行过滤,就像对当前文档字段(如
innerData.innerField
)进行过滤一样

GET /my_index/_search
{
"query": {
    "wildcard": {
       "innerData.innerJson.INNER_JSON_FIELD": {
          "value": "*sample*"
       }
    }
}
}

我一直在玩ES,并考虑了一个大索引(大约100万个条目),我假设在索引字段中进行这样的过滤,这将是一个昂贵的操作?任何建议的优化都不会对性能造成太大影响吗?

JSON本身不支持三重引号,所以是的,这是Kibana的可读性约定。检查代理请求时,可以看到双引号中的所有双引号都被转义-->
“\”…\”

至于
innerJson
——因为它没有索引,所以不可搜索,所以实际上没有办法对它进行过滤,更不用说访问stringified的JSON内部属性了。离开是作为
文本
,在其上进行通配符非常昂贵,但如果对其进行
索引
,这是可能的

内部JSON有多少个键值对?是什么阻止您在将其摄入ES之前对其进行解析

GET /my_index/_search
{
"query": {
    "wildcard": {
       "innerData.innerJson.INNER_JSON_FIELD": {
          "value": "*sample*"
       }
    }
}
}