参考:
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": [
"*"
]
}
}
]
}
}
}
2018年9月17日 16:06:59 更新查询,办案单位改为should 方式
{
"query": {
"bool": {
"must": [
{
"match": {
"ajztmc": "立案"
}
},
{
"range": {
"lasj": {
"gte": "2015-01-01 12:10:10",
"lte": "2016-01-01 12:10:40"
}
}
},
{
"query_string": {
"query": "*"
}
}
],
"should": [
{
"wildcard": {
"badw": "231010050202*"
}
},
{
"wildcard": {
"badw": "231010050201*"
}
}
],
"minimum_should_match": 1
}
},
"from": 0,
"size": 10,
"sort": {
"zxxgsj": {
"order": "desc"
}
}
}
2018年9月17日 16:07:51 aggs 分组
{
"query": {
"bool": {
"must": [
{
"range": {
"lasj": {
"gte": "2015-01-01 12:10:10",
"lte": "2016-01-01 12:10:40"
}
}
},
{
"query_string": {
"query": "*"
}
}
],
"should": [
{
"wildcard": {
"badw": "231010050202*"
}
},
{
"wildcard": {
"badw": "231010050201*"
}
}
],
"minimum_should_match": 1
}
},
"from": 0,
"size": 10,
"sort": {
"zxxgsj": {
"order": "desc"
}
},
"aggs": {
"ajlxmc": {
"terms": {
"field": "ajlxmc"
},
"aggs": {
"rylxmc": {
"terms": {
"field": "rylxmc"
},
"aggs": {
"ryxb": {
"terms": {
"field": "ryxb"
}
}
}
}
}
},
"ajztbm": {
"terms": {
"field": "ajztbm"
},
"aggs": {
"ajlxmc": {
"terms": {
"field": "ajlxmc"
},
"aggs": {
"rylxmc": {
"terms": {
"field": "rylxmc"
},
"aggs": {
"ryxb": {
"terms": {
"field": "ryxb"
}
}
}
}
}
}
}
}
}
}
结果
{
"aggregations": {
"ajlxmc": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [
{
"key": "刑事",
"doc_count": 70,
"rylxmc": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [
{
"key": "犯罪嫌疑人",
"doc_count": 16,
"ryxb": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [
{
"key": "男",
"doc_count": 14
},
{
"key": "女",
"doc_count": 2
}
]
}
}
]
}
}
]
},
"ajztbm": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [
{
"key": "结案",
"doc_count": 32,
"ajlxmc": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [
{
"key": "刑事",
"doc_count": 32,
"rylxmc": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [
{
"key": "犯罪嫌疑人",
"doc_count": 13,
"ryxb": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [
{
"key": "男",
"doc_count": 11
},
{
"key": "女",
"doc_count": 2
}
]
}
}
]
}
}
]
}
},
{
"key": "立案",
"doc_count": 27,
"ajlxmc": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [
{
"key": "刑事",
"doc_count": 27,
"rylxmc": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [
{
"key": "犯罪嫌疑人",
"doc_count": 1,
"ryxb": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [
{
"key": "男",
"doc_count": 1
}
]
}
}
]
}
}
]
}
},
{
"key": "破案",
"doc_count": 10,
"ajlxmc": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [
{
"key": "刑事",
"doc_count": 10,
"rylxmc": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [
{
"key": "犯罪嫌疑人",
"doc_count": 2,
"ryxb": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [
{
"key": "男",
"doc_count": 2
}
]
}
}
]
}
}
]
}
},
{
"key": "销案",
"doc_count": 1,
"ajlxmc": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [
{
"key": "刑事",
"doc_count": 1,
"rylxmc": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": [
]
}
}
]
}
}
]
}
}
}