elasticsearch 嵌套对象使用Multi Match Query、query_string全文检索设置
参考:
https://www.elastic.co/guide/en/elasticsearch/reference/1.7/mapping-nested-type.html
https://stackoverflow.com/questions/31829654/elastic-search-nested-multimatch-query
https://www.elastic.co/guide/en/elasticsearch/reference/5.6/nested.html
Note: changing an object type to nested type requires reindexing.
The nested
object fields can also be automatically added to the immediate parent by setting include_in_parent
to true, and also included in the root object by setting include_in_root
to true.
Nested docs will also automatically use the root doc _all
field.
//-------------------------创建索引--------------------------
--------------http://172.19.12.249:9200/indextest0121/_search
{
"mappings": {
"my_type": {
"properties": {
"sasj": {
"type": "date",
"format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"
},
"lasj": {
"type": "date",
"format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"
},
"xasj": {
"type": "date",
"format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"
},
"pasj": {
"type": "date",
"format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"
},
"zxxgsj": {
"type": "date",
"format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"
},
"saryxx": {
"type": "nested",
"include_in_parent":true,
"include_in_root":true
},
"wp": {
"type": "nested",
"include_in_parent" : true,
"include_in_root":true,
"properties": {
"zxxgsj": {
"type": "date",
"format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"
}
}
},
"rqxx": {
"type": "nested",
"include_in_parent":true,
"include_in_root":true,
"properties": {
"jrsj": {
"type": "date",
"format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"
},
"lksj": {
"type": "date",
"format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"
}
}
}
}
}
}
}
//------------------------插入文档------------------------------
{
"ajbh": "A2310010920092015010163",
"ajmc": "20140609郭广瑞生产、销售伪劣产品案",
"ajlxbm": "01",
"ajlxmc": "刑事",
"ajztbm": "01",
"ajztmc": "立案",
"sabar": "王五,赵六",
"sabarzjhm": "230106197001013213,230106197201013233",
"sabadw": "231010050200",
"sabadwmc": "黑龙江牡丹江市公安局华电分局刑事侦查队",
"labar": "王五,赵六",
"labarzjhm": "230106197001013213,230106197201013233",
"labadw": "231010050200",
"labadwmc": "黑龙江牡丹江市公安局华电分局刑事侦查队",
"xabar": "王五,赵六",
"xabarzjhm": "230106197001013213,230106197201013233",
"xabadw": "231010050200",
"xabadwmc": "黑龙江牡丹江市公安局华电分局刑事侦查队",
"pabar": "王五,赵六",
"pabarzjhm": "230106197001013213,230106197201013233",
"pabardw": "231010050200",
"pabardwmc": "黑龙江牡丹江市公安局华电分局刑事侦查队",
"sasj": "2015-01-01 12:10:30",
"lasj": "2015-01-02 12:10:30",
"xasj": "2015-01-03 12:10:30",
"pasj": "2015-01-04 12:10:30",
"zxxgsj": "2015-01-04 12:10:30"
,
"saryxx": [{
"rylx": "01",
"rylxmc": "嫌疑人",
"rybh": "R2301060000000001",
"ryxm": "张三",
"ryxb": "女",
"rynl": "20",
"ryzjhm": "230106199001123141",
"ryjtzz": "哈尔滨市松北别墅区",
"rylxdh": "18011111114"
},{
"rylx": "01",
"rylxmc": "违法行为人",
"rybh": "R2301060000000001",
"ryxm": "李四",
"ryxb": "男",
"rynl": "20",
"ryzjhm": "230106199001123141",
"ryjtzz": "哈尔滨市松北别墅区",
"rylxdh": "18011111114"
}],
"wp": [{
"wpmc": "可燃气体探测器",
"wpzlbm": "01",
"wpzlmc": "赃物",
"wpzl": "1公斤",
"wpxh": "100cmX100cmX100cm",
"wpztbm": "01",
"wpztmc": "物品入库",
"wpsl": "13",
"kfxx": "牡丹江市公安局涉案财务",
"kwxx": "A-刑事案件物品存放库|第01排|第01行|第01列|",
"kgy": "库管员",
"kypzr": "于令君",
"kfgly": "牡丹江库房管理员",
"bcqx": "12个月",
"kysj": "2015-01-01 12:10:30",
"zxxgsj": "2015-01-01 12:10:30"
},{
"wpmc": "刀",
"wpzlbm": "01",
"wpzlmc": "凶器",
"wpzl": "1公斤",
"wpxh": "100cmX100cmX100cm",
"wpztbm": "01",
"wpztmc": "物品登记",
"wpsl": "13",
"kfxx": "牡丹江市公安局涉案财务",
"kwxx": "A-刑事案件物品存放库|第01排|第01行|第01列|",
"kgy": "库管员",
"kypzr": "于令君",
"kfgly": "牡丹江库房管理员",
"bcqx": "12个月",
"kysj": "2015-01-01 12:10:30",
"zxxgsj": "2015-01-01 12:10:30"
}],
"rqxx": [{
"baqmc": "办案区名称",
"shbh": "手环编号",
"fjbh": "房间编号",
"fjmc": "房间名称",
"jrsj": "2015-01-01 12:10:30",
"lksj": "2015-01-01 12:10:30",
"rqyybm": "01",
"rqyymc": "传唤",
"lqyybm": "01",
"lqyymc": "传唤结束"
}]
}
//---------------------------查询文档--------------------------
{
"query": {
"bool": {
"must": [
{
"match": {
"ajztmc": "立案"
}
},
{
"match": {
"ajlxmc": "刑事"
}
},
{
"range": {
"lasj": {
"gte": "2015-01-01 12:10:10",
"lte": "2016-01-01 12:10:40"
}
}
},
{
"nested": {
"path": [
"rqxx"
],
"query": {
"bool": {
"must": [
{
"match": {
"rqxx.baqmc": "办案区名称"
}
}
]
}
}
}
},
{
"nested": {
"path": [
"saryxx"
],
"query": {
"bool": {
"must": [
{
"match": {
"saryxx.rylxmc": "嫌疑人"
}
},
{
"match": {
"saryxx.ryxb": "女"
}
}
]
}
}
}
},
{
"nested": {
"path": [
"wp"
],
"query": {
"bool": {
"must": [
{
"match": {
"wp.wpzlmc": "赃物"
}
},
{
"match": {
"wp.wpztmc": "物品入库"
}
}
]
}
}
}
},
{
"multi_match": {
"query": "男",
"lenient": "true",
"fields": [
"*"
]
}
}
]
}
},
"from": 0,
"size": 100,
"sort": {
"zxxgsj": {
"order": "desc"
}
}
}
//-------------------------创建索引--------------------------
{
"mappings": {
"my_type": {
"properties": {
"ajxx": {
"type": "nested",
"include_in_parent":true,
"include_in_root":true,
"properties": {
"sasj": {
"type": "date",
"format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"
},
"lasj": {
"type": "date",
"format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"
},
"xasj": {
"type": "date",
"format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"
},
"pasj": {
"type": "date",
"format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"
},
"zxxgsj": {
"type": "date",
"format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"
}
}
},
"saryxx": {
"type": "nested",
"include_in_parent":true,
"include_in_root":true
},
"wp": {
"type": "nested",
"include_in_parent" : true,
"include_in_root":true,
"properties": {
"zxxgsj": {
"type": "date",
"format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"
}
}
},
"rqxx": {
"type": "nested",
"include_in_parent":true,
"include_in_root":true,
"properties": {
"jrsj": {
"type": "date",
"format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"
},
"lksj": {
"type": "date",
"format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"
}
}
}
}
}
}
}
//------------------------插入文档------------------------------
{
"ajxx": [{
"ajbh": "A2310010920092015010163",
"ajmc": "20140609郭广瑞生产、销售伪劣产品案",
"ajlxbm": "01",
"ajlxmc": "刑事",
"ajztbm": "01",
"ajztmc": "立案",
"sabar": "王五,赵六",
"sabarzjhm": "230106197001013213,230106197201013233",
"sabadw": "231010050200",
"sabadwmc": "黑龙江牡丹江市公安局华电分局刑事侦查队",
"labar": "王五,赵六",
"labarzjhm": "230106197001013213,230106197201013233",
"labadw": "231010050200",
"labadwmc": "黑龙江牡丹江市公安局华电分局刑事侦查队",
"xabar": "王五,赵六",
"xabarzjhm": "230106197001013213,230106197201013233",
"xabadw": "231010050200",
"xabadwmc": "黑龙江牡丹江市公安局华电分局刑事侦查队",
"pabar": "王五,赵六",
"pabarzjhm": "230106197001013213,230106197201013233",
"pabardw": "231010050200",
"pabardwmc": "黑龙江牡丹江市公安局华电分局刑事侦查队",
"sasj": "2015-01-01 12:10:30",
"lasj": "2015-01-02 12:10:30",
"xasj": "2015-01-03 12:10:30",
"pasj": "2015-01-04 12:10:30",
"zxxgsj": "2015-01-04 12:10:30"
}],
"saryxx": [{
"rylx": "01",
"rylxmc": "嫌疑人",
"rybh": "R2301060000000001",
"ryxm": "张三",
"ryxb": "女",
"rynl": "20",
"ryzjhm": "230106199001123141",
"ryjtzz": "哈尔滨市松北别墅区",
"rylxdh": "18011111114"
},{
"rylx": "01",
"rylxmc": "违法行为人",
"rybh": "R2301060000000001",
"ryxm": "李四",
"ryxb": "男",
"rynl": "20",
"ryzjhm": "230106199001123141",
"ryjtzz": "哈尔滨市松北别墅区",
"rylxdh": "18011111114"
}],
"wp": [{
"wpmc": "可燃气体探测器",
"wpzlbm": "01",
"wpzlmc": "赃物",
"wpzl": "1公斤",
"wpxh": "100cmX100cmX100cm",
"wpztbm": "01",
"wpztmc": "物品入库",
"wpsl": "13",
"kfxx": "牡丹江市公安局涉案财务",
"kwxx": "A-刑事案件物品存放库|第01排|第01行|第01列|",
"kgy": "库管员",
"kypzr": "于令君",
"kfgly": "牡丹江库房管理员",
"bcqx": "12个月",
"kysj": "2015-01-01 12:10:30",
"zxxgsj": "2015-01-01 12:10:30"
},{
"wpmc": "刀",
"wpzlbm": "01",
"wpzlmc": "凶器",
"wpzl": "1公斤",
"wpxh": "100cmX100cmX100cm",
"wpztbm": "01",
"wpztmc": "物品登记",
"wpsl": "13",
"kfxx": "牡丹江市公安局涉案财务",
"kwxx": "A-刑事案件物品存放库|第01排|第01行|第01列|",
"kgy": "库管员",
"kypzr": "于令君",
"kfgly": "牡丹江库房管理员",
"bcqx": "12个月",
"kysj": "2015-01-01 12:10:30",
"zxxgsj": "2015-01-01 12:10:30"
}],
"rqxx": [{
"baqmc": "办案区名称",
"shbh": "手环编号",
"fjbh": "房间编号",
"fjmc": "房间名称",
"jrsj": "2015-01-01 12:10:30",
"lksj": "2015-01-01 12:10:30",
"rqyybm": "01",
"rqyymc": "传唤",
"lqyybm": "01",
"lqyymc": "传唤结束"
}]
}
//---------------------------查询文档--------------------------
{
"query": {
"bool": {
"must": [
{
"nested": {
"path": [
"ajxx"
],
"query": {
"bool": {
"must": [
{
"match": {
"ajxx.ajztmc": "立案"
}
},
{
"range": {
"ajxx.sasj": {
"gte": "2015-01-01 12:10:10",
"lte": "2016-01-01 12:10:40"
}
}
}
]
}
}
}
},
{
"nested": {
"path": [
"rqxx"
],
"query": {
"bool": {
"must": [
{
"match": {
"rqxx.baqmc": "办案区名称"
}
},
{
"range": {
"rqxx.jrsj": {
"gte": "2015-01-01 12:10:10",
"lte": "2016-01-01 12:10:40"
}
}
}
]
}
}
}
},
{
"multi_match": {
"query": "男",
"lenient": "true",
"fields": [
"*"
]
}
}
]
}
}
}
elasticsearch 嵌套对象使用Multi Match Query、query_string全文检索设置的更多相关文章
- elasticsearch 中的Multi Match Query
在Elasticsearch全文检索中,我们用的比较多的就是Multi Match Query,其支持对多个字段进行匹配.Elasticsearch支持5种类型的Multi Match,我们一起来深入 ...
- Elasticsearch Query DSL 整理总结(四)—— Multi Match Query
目录 引言 概要 fields 字段 通配符 提升字段权重 multi_match查询的类型 best_fields 类型 dis_max 分离最大化查询 best_fields 维权使者 tie_b ...
- elasticsearch 嵌套对象之嵌套类型
nested类型是一种特殊的对象object数据类型(specialised version of the object datatype ),允许对象数组彼此独立地进行索引和查询. 1. 对象数组如 ...
- elasticsearch嵌套对象的映射
在es中,我们有时候可能需要映射,{ "field" : "xx" , "field01" : [] }这样格式的嵌套对象,默认情况下es会 ...
- elasticsearch入门使用(三) Query DSL
Elasticsearch Reference [6.2] » Query DSL 参考官方文档 :https://www.elastic.co/guide/en/elasticsearch/refe ...
- Elasticsearch Query DSL 整理总结(二)—— 要搞懂 Match Query,看这篇就够了
目录 引言 构建示例 match operator 参数 analyzer lenient 参数 Fuzziness fuzzniess 参数 什么是模糊搜索? Levenshtein Edit Di ...
- Elasticsearch 5.x 关于term query和match query的认识
http://blog.csdn.net/yangwenbo214/article/details/54142786 一.基本情况 前言:term query和match query牵扯的东西比较多, ...
- Elasticsearch.Net 异常:[match] query doesn't support multiple fields, found [field] and [query]
用Elasticsearch.Net检索数据,报异常: )); ElasticLowLevelClient client = new ElasticLowLevelClient(settings); ...
- ElasticSearch 嵌套映射和过滤器及查询
ElasticSearch - 嵌套映射和过滤器 Because nested objects are indexed as separate hidden documents, we can’t q ...
随机推荐
- Python- 【python无法更新pip】提示python.exe: No module named pip
用Anaconda安装的python 版本无法更新pip导致不能安装第三方库: 用Anaconda Prompt安装第三方库: python -m pip install --upgrade pip ...
- Sass-加法
程序中的运算是常见的一件事情,但在 CSS 中能做运算的,到目前为止仅有 calc() 函数可行.但在 Sass 中,运算只是其基本特性之一.在 Sass 中可以做各种数学计算 (一).加法 加法运算 ...
- Uva10491 Cows and Cars 【迁移自洛谷博客】
题目大意 假设有a头牛,b辆车(门的总数为a+b),你先选一个门,然后你最终选择前主持人会替你打开C扇有牛的门(不会打开你已经选择的门),问你要不要换门,输出"总是换门"的策略下, ...
- 为什么我们从Angular 2迁移到Vue.js(为什么我们没有选择React)
在Rever(www.reverscore.com),我们刚刚使用Vue.js发布了我们的Web客户端的新版本.经过641次提交和16周的紧张开发,我们非常自豪之前做出的决定.8个月前,我们的前端在使 ...
- golang-练习3
题目:将输入的字母变成其下一个字母,并且元音字母大写 package main import "fmt" func LetterChanges(str string) string ...
- 一张图理解"Figure", "Axes", "Axis"
Figure is the object with the highest level in the hierarchy. It corresponds to the entire graphical ...
- jenkins 更改端口
方法一 在Jenkins目录下,运行一下命令: java -jar jenkins.war --ajp13Port=-1 --httpPort=8081 出现了错误: C:\Program Files ...
- mybatis源码分析之03SqlSession的创建
在上一篇中,说到了mybatis是如何构造一个SqlSessionFactory实例的,顾名思意,SqlSessionFactory就是用于创建SqlSession的工厂类. 好,现在我们接着昨天的来 ...
- Apache Flink 为什么能够成为新一代大数据计算引擎?
众所周知,Apache Flink(以下简称 Flink)最早诞生于欧洲,2014 年由其创始团队捐赠给 Apache 基金会.如同其他诞生之初的项目,它新鲜,它开源,它适应了快速转的世界中更重视的速 ...
- @RequestParam和@PathVariable的区别
一:@RequestParam @RequestParam是传递参数的. @RequestParam用于将请求参数区数据映射到功能处理方法的参数上. public Object Login(@Requ ...