我刚打酱油去了,不好意思

如何查询在nested多层嵌套中准确查到具体的值

Elasticsearch | 作者 ly898197688 | 发布于2019年06月04日 | 阅读数:2487

前面一幅图是mapping结构,后面的是具体的值,比如我要查找2018-12-01  -- 2019-01-01 所有点击民生银行的值,要怎么拼写DSL查询语句,求各位大佬告知
企业微信截图_15596341359977.png 企业微信截图_15596341122719.png
已邀请:

Ombres

赞同来自:

看了你的描述,感觉你这个是mapping写错了....
KC_PRODUCT_CLICK_DATE, 这个应该定义为nested而不是object,datetime定义为date
查询应该是类似下面这样
{
"query": {
"nested": {
"path": "KC_PRODUCT_CLICK_DATE",
"query": {
"bool": {
"must": [
{
"match": {
"KC_PRODUCT_CLICK_DATE.product": "民生银行"
}
},
{
"range": {
"KC_PRODUCT_CLICK_DATE.datetime": {
"gte": "2018-12-01",
"lt": "2019-01-01 "
}
}
}
]
}
}
}
}
}

 
 
 

bellengao - 博客: https://www.jianshu.com/u/e0088e3e2127

赞同来自:

KC_PRODUCT_CLICK_DATE作为一个字段,值是一个列表,查询时无论匹配到列表中的哪一个product都会把原文档整个返回的;所以按照你的需求,KC_PRODUCT_CLICK_DATE应该作为一个单独的index

要回复问题请先登录注册