zoukankan      html  css  js  c++  java
  • 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": [
                                "*"
                            ]
                        }
                    }
                ]
            }
        }
    }
  • 相关阅读:
    mac/unix系统:C++实现一个端口扫描器
    C++:通过gethostbyname函数,根据服务器的域名,获取服务器IP
    PostMan Setting Proxy 设置 代理
    企业架构 Red Hat Drools KIE Project 三大核心产品
    IDS,IPS,IPD
    Vehicle routing with Optaplanner graph-theory
    SonarQube Detection of Injection Flaws in Java, C#, PHP
    Spring AOP Log
    Code Quality and Security | SonarQube
    Gradle vs. Maven: Performance, Compatibility, Speed, & Builds
  • 原文地址:https://www.cnblogs.com/gmhappy/p/9472379.html
Copyright © 2011-2022 走看看