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 ...
随机推荐
- 01.Linux-CentOS系统网卡名称变动问题
方法一root登陆系统1.删除原来的配置信息[root@localhost ~]# rm -f /etc/sysconfig/network-scripts/ifcfg-eth0[root@local ...
- how to pass variable from shell script to sqlplus
script sqlplus ${ORA_USR}/${ORA_PASS}@${ORA_DB} @${PARM}/TEST $new_usr $model_usr $new_pwd parm of s ...
- Kotlin 的 Array 转 List
Kotlin 的 Array 转 List array.toList() as List<T> 1 Kotlin 的 Array 转 ArrayList array.toList() as ...
- Vue:列表渲染 v-for on a <template>
类似于 v-if,你也可以利用带有 v-for 的 <template> 渲染多个元素.比如: <html> <head> <title>Vue v-f ...
- 通过ssh访问虚拟机中的ubuntu系统
首先把 network 连接方式由 NAT 改为 Bridge Adapter,这样虚拟机中的 ubuntu 就可以有独立的 IP 地址. 安装 openssh: sudo apt-get insta ...
- Ubuntu新建用户组
新建用户组 sudo addgroup groupname 把现有用户加入新建的用户组 sudo adduser username groupname
- 【leetcode】336. Palindrome Pairs
题目如下: 解题思路:对于任意一个word,要找出在wordlist中是否存在与之能组成回文的其他words,有两种思路.一是遍历wordlist:二是对word本身进行分析,找出能组成回文的word ...
- C# 调用windows时间同步服务获取准确时间
//创建一个Daytime类代码如下:using System; using System.Collections; using System.Collections.Generic; using S ...
- MacOS Catalina 导致bash命令失效的一些总结
欢天喜地的升级了最新的OS后,第一个发现bash失效的是使用pod命令出现: -bash: pod: command not found 这个不会导致cocoapods无法正常使用,可以使用绝对路径里 ...
- python-zx笔记4-文件操作
一.打开文件 file object = open(file_name [, access_mode][, buffering]) file_name:file_name变量是一个包含了你要访问的文件 ...