一个Elasticsearch嵌套nested查询的实例
创建索引和数据准备
PUT course
PUT course/_mapping/course
{ "properties": {
"course":{
"type": "nested"
, "properties": {
"key1": {
"type": "text",
"analyzer": "ik_max_word"
},
"key2": {
"type": "text",
"analyzer": "ik_max_word"
},
"course_score": {
"type": "long"
}
}
},
"course_name": {
"type": "text"
, "analyzer": "ik_max_word"
},
"course_id": {
"type": "long"
}
}
}
PUT course/course/1
{
"course":[
{
"key1":"语文,高一,高二,高三",
"key2":"高考作文",
"course_score":15
},
{
"key1":",语文,高二",
"key2":"语文高考",
"course_score":9
},
{
"key1":",努力,学习",
"key2":"高考",
"course_score":9
}
],
"course_name":"语文高考基础题满分策略",
"course_id":13
} PUT course/course/2
{
"course":[
{
"key1":",其他,高一,高二,高三",
"key2":"鲁林希",
"course_score":21
},
{
"key1":",其他,高一",
"key2":"高考",
"course_score":11
},
{
"key1":",其他,高二,高三",
"key2":"高考",
"course_score":2
}
],
"course_name":"师兄师姐来帮忙-方法篇",
"course_id":220
} PUT course/course/3
{
"course":[
{
"key1":",其他,高一,高三",
"key2":"高考",
"course_score":21
}
],
"course_name":"师兄师姐来帮忙-自招全流程",
"course_id":221
}
查询语句实例
GET course/course/_search
{ "query": {
"function_score": {
"query": {
"bool": {
"must": [
{
"nested": {
"path": "course",
"score_mode": "sum",
"query": {
"function_score": {
"query": {
"bool": {
"must": [
{
"match": {
"course.key1": "高一,高二,高三"
}
},
{
"match": {
"course.key2": "高考"
}
}
]
}
},
"script_score": {
"script": "doc['course.course_score'].value"
}
}
}
}
}
]
}
}
, "script_score": {
"script": "_score"
}
}
}
}
一个Elasticsearch嵌套nested查询的实例的更多相关文章
- ElasticSearch学习问题记录——nested查询不到数据
通过代码创建了索引名称为demoindex,索引类型为school,以下是索引类型的数据映射结构: { "state": "open", "setti ...
- ElasticSearch 嵌套映射和过滤器及查询
ElasticSearch - 嵌套映射和过滤器 Because nested objects are indexed as separate hidden documents, we can’t q ...
- python查询elasticsearch(Query DSL) 实例
import datetime import sys import getopt import hashlib from elasticsearch import Elasticsearch &quo ...
- Elasticsearch文档查询
简单数据集 到目前为止,已经了解了基本知识,现在我们尝试用更逼真的数据集,这儿已经准备好了一份虚构的JSON,关于客户银行账户信息的.每个文档的结构如下: { , , "firstname& ...
- elasticsearch 嵌套对象之嵌套类型
nested类型是一种特殊的对象object数据类型(specialised version of the object datatype ),允许对象数组彼此独立地进行索引和查询. 1. 对象数组如 ...
- 利用kibana插件对Elasticsearch进行bool查询
#bool查询#老版本的filtered查询已经被bool代替#用 bool包括 must should must_not filter来完成 ,格式如下:#bool:{# "filter ...
- 《数据库系统概念》4-DDL、集合运算、嵌套子查询
一.DDLa) SQL Data DefinitionSQL的基本数据类型有char(n).varchar(n).int.smallint.numeric(p,d).real,double preci ...
- SQL相关子查询是什么?和嵌套子查询有什么区别?
目录 两者的各种叫法 相关子查询MySQL解释 相关子查询Wikipedia解释 相关子查询执行步骤拆解 相关子查询和嵌套查询的区别 参考资料 两者的各种叫法 相关子查询叫做:Correlated S ...
- elasticsearch GIS空间查询问题解决
在GIS行业的应用越来越广泛,GIS最常用根据区域进行空间数据查询 我定义了两个方法,一起来看一下: /** * geodistance filter * 一个过滤器来过滤基于一个特定的距离从 ...
随机推荐
- 【BZOJ3144】[Hnoi2013]切糕 最小割
[BZOJ3144][Hnoi2013]切糕 Description Input 第一行是三个正整数P,Q,R,表示切糕的长P. 宽Q.高R.第二行有一个非负整数D,表示光滑性要求.接下来是R个P行Q ...
- 记录--常用的linux命令
mysql event /*查询event是否开启(查询结果Off为关闭 On为开启)*/ show variables like '%sche%'; /*开启/关闭命令(1开启--0关闭)*/ se ...
- 几种常见数据库查询判断表和字段是否存在sql
1.MSSQL Server 表:select COUNT(*) from dbo.sysobjectsWHEREname= 'table_name': 字段:select COUNT(*) ...
- 实践中需要了解的cpu特性
目录 分段机制 特权级检查 GDT和LDT 堆栈切换 分页机制 中断 分段机制 实模式中cs是一个实实在在的段首地址,ip为cs所指向段的偏移,所以cs<<4+ip是当前cpu执行的指令. ...
- Scala 常用语法
Clojure首先是FP, 但是由于基于JVM, 所以不得已需要做出一些妥协, 包含一些OO的编程方式 Scala首先是OO, Java语法过于冗余, 一种比较平庸的语言, Scala首先做的是简化, ...
- delphi中String 和 动态静态数组
默认string类型为ansiString:有编译开关控制 shortString: strShort : shortString; strShort 大小256字节,可根据sizeof()计算出,s ...
- OVN实战---《An Introduction to OVN Routing》翻译
Overview 在前面一篇文章的基础上,现在我将通过OVN创建一个基础的三层网络.创建的最终结果将是一对logical switches通过一个logical router相连.另外,该路由器会通过 ...
- Jenkins+maven+Tomcat+SVN一键自动打包部署应用到服务器
今天请教了大神,终于把jenkins给搞明白了 现在做下笔记,防止自己老年痴呆又忘了怎么配置 (截图可能不够清晰,有不清楚的随时评论打call) 机器配置: 安装配置规划 机器 192.168.169 ...
- 转:.Net 中的反射(反射特性) - Part.3
.Net 中的反射(反射特性) - Part.3 反射特性(Attribute) 可能很多人还不了解特性,所以我们先了解一下什么是特性.想想看如果有一个消息系统,它存在这样一个方法,用来将一则短消息发 ...
- sublime text 3 配置在浏览器中快速预览
1.打开Sublime,在菜单栏找到 preferences->package control->输入install package,回车 2.在弹出的输入框里输入SideBarEnhan ...