es针对nested类型数据无法进行过滤查询的问题记录
问题描述
{
"task_data_1" : {
"mappings" : {
"dynamic_templates" : [
{
"dates" : {
"match_mapping_type" : "date",
"mapping" : {
"type" : "date"
}
}
},
{
"doubles" : {
"match_mapping_type" : "double",
"mapping" : {
"type" : "double"
}
}
},
{
"objects" : {
"match_mapping_type" : "object",
"mapping" : {
"type" : "object"
}
}
},
{
"longs" : {
"match_mapping_type" : "long",
"mapping" : {
"type" : "integer"
}
}
},
{
"strings" : {
"match" : "*",
"match_mapping_type" : "string",
"mapping" : {
"type" : "keyword"
}
}
}
],
"properties" : {
"createUsername" : {
"type" : "keyword"
},
"data" : {
"type" : "nested",
"dynamic" : "true",
"properties" : {
"daterange102110" : {
"type" : "date"
},
"input18779" : {
"type" : "keyword"
},
"rate48025" : {
"type" : "integer"
},
"textarea24212" : {
"type" : "keyword"
},
"textarea38172" : {
"type" : "keyword"
},
"timerange47544" : {
"type" : "keyword"
},
"url" : {
"type" : "keyword"
}
}
},
"formId" : {
"type" : "long",
"store" : true
},
"updateUsername" : {
"type" : "keyword"
}
}
}
}
}
解决过程
POST task_data_1/_search
{
"from": 0,
"size": 10,
"query": {
"bool": {
"must": [
{
"term": {
"input18779": {
"value": "3213",
"boost": 1
}
}
}
],
"adjust_pure_negative": true,
"boost": 1
}
},
"sort": [
{
"createTime": {
"order": "desc"
}
}
],
"track_total_hits": 2147483647
}
POST task_data_1/_search
{
"from": 0,
"size": 10,
"query": {
"bool": {
"must": [
{
"term": {
"data.input18779": {
"value": "3213",
"boost": 1
}
}
}
],
"adjust_pure_negative": true,
"boost": 1
}
},
"sort": [
{
"createTime": {
"order": "desc"
}
}
],
"track_total_hits": 2147483647
}
{
"task_data_1" : {
"mappings" : {
"dynamic_templates" : [
{
"dates" : {
"match_mapping_type" : "date",
"mapping" : {
"type" : "date"
}
}
},
{
"doubles" : {
"match_mapping_type" : "double",
"mapping" : {
"type" : "double"
}
}
},
{
"objects" : {
"match_mapping_type" : "object",
"mapping" : {
"type" : "object"
}
}
},
{
"longs" : {
"match_mapping_type" : "long",
"mapping" : {
"type" : "integer"
}
}
},
{
"strings" : {
"match" : "*",
"match_mapping_type" : "string",
"mapping" : {
"type" : "keyword"
}
}
}
],
"properties" : {
"createUsername" : {
"type" : "keyword"
},
"data" : {
"type" : "nested",
"dynamic" : "true",
"properties" : {
"daterange102110" : {
"type" : "date"
},
"input18779" : {
"type" : "keyword"
},
"rate48025" : {
"type" : "integer"
},
"textarea24212" : {
"type" : "keyword"
},
"textarea38172" : {
"type" : "keyword"
},
"timerange47544" : {
"type" : "keyword"
},
"url" : {
"type" : "keyword"
}
}
},
"formId" : {
"type" : "long",
"store" : true
},
"updateUsername" : {
"type" : "keyword"
}
}
}
}
}
queryBuilder.must(QueryBuilders.nestedQuery("data", QueryBuilders.termQuery(queryFieldName, item.getFilterValue()), ScoreMode.None));
POST task_data_1/_search
{
"from": 0,
"size": 10,
"query": {
"bool": {
"must": [
{
"nested": {
"query": {
"term": {
"data.input18779": {
"value": "3213",
"boost": 1
}
}
},
"path": "data",
"ignore_unmapped": false,
"score_mode": "none",
"boost": 1
}
}
],
"adjust_pure_negative": true,
"boost": 1
}
},
"sort": [
{
"createTime": {
"order": "desc"
}
}
],
"track_total_hits": 2147483647
}
总结
es针对nested类型数据无法进行过滤查询的问题记录的更多相关文章
- ElasticSearch(ES)使用Nested结构存储KV及聚合查询
自建博客地址:https://www.bytelife.net,欢迎访问! 本文为博客同步发表文章,为了更好的阅读体验,建议您移步至我的博客 本文作者: Jeffrey 本文链接: https://w ...
- Java API 实现HBase的数据添加与过滤查询
包依赖比较麻烦,找了好久,我用的CDH5.0 现将所依赖的包的列表清单如下: public class EmployeeDao { /** * @param args */ public static ...
- sql datetime类型数据如果进行模糊查询
select * from Table1 where CONVERT(nvarchar(50),CreateTime,120) like '%2019'
- 干货 | Elasticsearch Nested类型深入详解(转)
https://blog.csdn.net/laoyang360/article/details/82950393 0.概要在Elasticsearch实战场景中,我们或多或少会遇到嵌套文档的组合形式 ...
- 干货 | Elasticsearch Nested类型深入详解
在Elasticsearch实战场景中,我们或多或少会遇到嵌套文档的组合形式,反映在ES中称为父子文档. 父子文档的实现,至少包含以下两种方式: 1)父子文档 父子文档在5.X版本中通过parent- ...
- Elastic search中使用nested类型的内嵌对象
在大数据的应用环境中,往往使用反范式设计来提高读写性能. 假设我们有个类似简书的系统,系统里有文章,用户也可以对文章进行赞赏.在关系型数据库中,如果按照数据库范式设计,需要两张表:一张文章表和一张赞赏 ...
- C# 任意类型数据转JSON格式(转)
HOT SUMMER 每天都是不一样,积极的去感受生活 C# 任意类型数据转JSON格式 /// <summary> /// List转成json /// </summary> ...
- 自定义JsonResult处理JSON序列化DateTime类型数据(Ext4.2+ASP.NET MVC 4)
最近项目中前台页面使用Extjs4.2 ,在后台ASP.NET MVC4返回的DateTime类型的数据错返回的DateTime类型的JsonResult的结果中的值是“\/Date(13784461 ...
- 针对各主流数据mysql、sqlserver、oracle中文乱码问题。
针对各主流数据mysql.sqlserver.oracle当以编码格式gbk存放数据时,要注意字符串类型的字段,要采用宽字符串nvarchar存放,前提是当你的应用程序是utf8编码,而数据库是gbk ...
- SQL语句检索数据排序及过滤
阅读目录 一:排序检索数据 二:过滤数据 三:高级数据过滤 四:用通配符进行过滤 回到顶部 一:排序检索数据 1.1 排序数据 比如查询数据库中表数据的时候,我们使用如下语句: select * fr ...
随机推荐
- 揭秘 Task.Wait
目录 简介 背后的实现 Task.Wait 的两个阶段 SpinWait 阶段 BlockingWait 阶段 Task.Wait 可能会导致的问题 可能会导致线程池饥饿 可能会导致死锁 .NET 6 ...
- 轻松掌握Python+主流测试框架Requests接口自动化,快速转型自动化测试
轻松掌握Python+主流测试框架Requests接口自动化,快速转型自动化测试 最近几年,自动化测试已经成为了软件测试的主流趋势,而Python语言和Requests库作为主流测试框架,也成为了越来 ...
- Java Websocket 02: 原生模式通过 Websocket 传输文件
目录 Java Websocket 01: 原生模式 Websocket 基础通信 Java Websocket 02: 原生模式通过 Websocket 传输文件 Websocket 原生模式 传输 ...
- 使用Git进行版本控制和协作:代码共享、协作和版本管理
目录 引言 Git 是一款开源的分布式版本控制系统,它已经成为了现代软件开发中必不可少的工具之一.在这篇文章中,我们将介绍如何使用 Git 进行版本控制和协作,以实现代码共享.协作和版本管理.Git ...
- 驱动开发:内核远程线程实现DLL注入
在笔者上一篇文章<内核RIP劫持实现DLL注入>介绍了通过劫持RIP指针控制程序执行流实现插入DLL的目的,本章将继续探索全新的注入方式,通过NtCreateThreadEx这个内核函数实 ...
- Logistic Regression and its Maximum Likelihood Estimation
从 Linear Regression 到 Logistic Regression 给定二维样本数据集 \(D = \left\{ (\vec{x}_{1}, y_{1}), (\vec{x}_{2} ...
- 【WebRtc】获取音视频数据
首页截图 获取音视频 关键Code 获取摄像头数据 /** * 获取流数据 */ openUserMeida() { var that = this // 判断是否支持获取媒体数据 if (!navi ...
- 一文了解io.ReadAtLeast函数
1. 引言 io.ReadAtLeast 函数是Go标准库提供的一个非常好用的函数,能够指定从数据源最少读取到的字节数.本文我们将从io.ReadAtLeast 函数的基本定义出发,讲述其基本使用和实 ...
- 压制GIF做的一点点小尝试 以及ezgif的基本功能使用
事情的起因 首先群友给我整了个loli莉音的视频 很可爱 但是用qq接收的视频没法一直在那边kawaii 图片本身很小其实 但是转gif就很大 转出来的gif的大小就大的唏嘘 寻找问题 这就是mp4的 ...
- EaselJS 源码分析系列--第三篇
这一篇分析另外四个稍显高级的显示类 -- Sprite.Movieclip.DOMElement.BitmapText SpriteSheet SpriteSheet 比较简单 它继承自 EventD ...