创建索引和数据准备

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查询的实例的更多相关文章

  1. ElasticSearch学习问题记录——nested查询不到数据

    通过代码创建了索引名称为demoindex,索引类型为school,以下是索引类型的数据映射结构: { "state": "open", "setti ...

  2. ElasticSearch 嵌套映射和过滤器及查询

    ElasticSearch - 嵌套映射和过滤器 Because nested objects are indexed as separate hidden documents, we can’t q ...

  3. python查询elasticsearch(Query DSL) 实例

    import datetime import sys import getopt import hashlib from elasticsearch import Elasticsearch &quo ...

  4. Elasticsearch文档查询

    简单数据集 到目前为止,已经了解了基本知识,现在我们尝试用更逼真的数据集,这儿已经准备好了一份虚构的JSON,关于客户银行账户信息的.每个文档的结构如下: { , , "firstname& ...

  5. elasticsearch 嵌套对象之嵌套类型

    nested类型是一种特殊的对象object数据类型(specialised version of the object datatype ),允许对象数组彼此独立地进行索引和查询. 1. 对象数组如 ...

  6. 利用kibana插件对Elasticsearch进行bool查询

    #bool查询#老版本的filtered查询已经被bool代替#用 bool包括 must should must_not filter来完成 ,格式如下:#bool:{#  "filter ...

  7. ​《数据库系统概念》4-DDL、集合运算、嵌套子查询

    一.DDLa) SQL Data DefinitionSQL的基本数据类型有char(n).varchar(n).int.smallint.numeric(p,d).real,double preci ...

  8. SQL相关子查询是什么?和嵌套子查询有什么区别?

    目录 两者的各种叫法 相关子查询MySQL解释 相关子查询Wikipedia解释 相关子查询执行步骤拆解 相关子查询和嵌套查询的区别 参考资料 两者的各种叫法 相关子查询叫做:Correlated S ...

  9. elasticsearch GIS空间查询问题解决

    在GIS行业的应用越来越广泛,GIS最常用根据区域进行空间数据查询     我定义了两个方法,一起来看一下: /** * geodistance filter * 一个过滤器来过滤基于一个特定的距离从 ...

随机推荐

  1. sql 循环表中记录

    =========================================================================循环排序查询数据=================== ...

  2. 170222、使用Spring Session和Redis解决分布式Session跨域共享问题

    使用Spring Session和Redis解决分布式Session跨域共享问题 原创 2017-02-27 徐刘根 Java后端技术 前言 对于分布式使用Nginx+Tomcat实现负载均衡,最常用 ...

  3. 160812、apache milagro分布式安全认证系统

    java32位.64位及js的代码:http://pan.baidu.com/s/1cqnwuE 一.云链接为中心的软件及需要互联网规模物联网设备 二.利用双线性密码学分发加密操作和分裂的加密参数 三 ...

  4. 在Scrapy中使用IP池或用户代理更新版(python3)

    middlewares.py # -*- coding: utf-8 -*- # 导入随机模块 import random # 导入有关IP池有关的模块 from scrapy.downloaderm ...

  5. apktool 工具

      下载 https://code.google.com/p/android-apktool/ apktool_2.0.0rc2.jar 和apktool linux脚本 ln –s apktool_ ...

  6. LIMIT Query Optimization

    LIMIT limitFrom , perPageNum LIMIT offset, size MySQL :: MySQL 8.0 Reference Manual :: 13.2.10 SELEC ...

  7. Python菜鸟之路:Django 序列化数据

    类型一:对于表单数据进行序列化 这时需要用到ErrorDict. ret['errors'] = obj.errors.as_data() result = json.dumps(ret, cls=J ...

  8. 第一节:web 框架本质

    1.web请求本质是什么: web请求本质:就是一个socket.      浏览器充当是客户端,python充当一个服务器端      浏览器请求相当一次tcp请求,请求完成断开连接 ,下次去的时候 ...

  9. BioinfomaticsPPT-1-Introduction

    1.人类基因基础  2.基因组规模 3.基因分化表达 4.遗传信息流 5.基因基础知识相关 6.遗传编码 7.序列比对的意义 8.

  10. Python-Cpython解释器支持的进程与线程

    一.Python并发编程之多进程 1. multiprocessing模块介绍 python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源(os.cpu_count()查看),在pyt ...