创建索引和数据准备

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. 160808、Java的不同版本:J2SE、J2EE、J2ME的区别

    来源:微学苑 在Java中,同一个类中的多个方法可以有相同的名字,只要它们的参数列表不同就可以,这被称为方法重载(method overloading). 参数列表又叫参数签名,包括参数的类型.参数的 ...

  2. Java基础系列(八)序列化与反序列化

    先来看两个例子 示例一:将对象保存成字节数组,再把对象的字节数组还原为对象 示例中用到的Bean package com.huawei.beans; import java.io.Serializab ...

  3. 剑指Offer——斐波那契数列

    题目描述: 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项.n<=39 分析: 递归解法肯定相当耗时. 因为当n=4时,程序是这样子递归运算的:Fibonacci( ...

  4. python imageio 图片生成gif

    #!/bin/python3 import matplotlib.pyplot as plt import imageio,os TIME_GAP=0.075 #两帧之间的时间间隔,秒为单位 FILE ...

  5. Linux下如何安装Anaconda?

    下载 从https://repo.continuum.io/archive/index.html上下载对应版本的Anaconda. 或者到官网:https://www.anaconda.com/dow ...

  6. 简述 Python3 文件处理

    1.文件处理 找到文件 --> 打开文件 --> 操作:读.写 --> 保存 --> 关闭 1.1.1 写文件 (只要牵扯到文件操作,都是字符串:写文件的时候需要把写的数字转换 ...

  7. 004-React入门概述

    一.概述 参考地址:https://reactjs.org/docs/try-react.html 1.1.本地快速体验 <!DOCTYPE html> <html> < ...

  8. Angular路由参数传递

    一.路由时传递参数的方式 1.在查询参数中传递数据 //页面 <a routerLink="/product" [queryParams]="{id:1}" ...

  9. java.net.SocketException四大异常解决方案(转)

    java.net.SocketException如何才能更好的使用呢?这个就需要我们先要了解有关这个语言的相关问题.希望大家有所帮助.那么我们就来看看有关java.net.SocketExceptio ...

  10. curl: (60) SSL certificate problem: unable to get local issuer certificate

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html 内部邀请码:C8E245J (不写邀请码,没有现金送) 国 ...