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