上海正规银行机构放款——上海贷款
电话微信: 13501647909 ,欢迎咨询上海市二套房贷款查询所需材料,当天放款,[公积金贷最低2.55%额度300万-1000万|公积金提取],[法人贷年化3.8%额度最高1000万],[企业贷贷5%最高1000万],[房产抵押贷最低3%],[大额垫资万6元每天],[车抵GPS或不押车]
2023年上海考生高考成绩分布表公布,619分及以上48人
刚才,上海市教育考试院公布了2023年考生高考成绩分布表。其中,619分及以上考生48人。
考生高考成绩分布表(思想政治、历史、地理、物理、化学、生物学),考生可登录“2023年高考志愿辅助填报系统”查询。
请登录“上海招考热线”网站查询2023年艺体考生成绩分布情况。
如果你最近也在看公寓,一定要知道二手房买房的流程,来吧...
上海购房流程。
购房过程非常复杂。本文将全面介绍从看房到入住的15个环节。对于第一次买房的人来说,这篇文章非常有价值。建议收集并表扬它。本文将详细介绍从看房到入住新家的15个环节。直接去干货没有废话。
·1:查征信。
·2:确定预算。
·3:确定片区。
·4:网上筛选房源。
·5:实地看房。
·6:比较几套房子的优缺点。
·7:选择最满意的房子,了解税费、首付和付款方式。
·8:与业主协商,签订购房合同,确定付款时间。
·9:支付定金,核实产权、产权调和产权证书。
·10:准备材料,签订合同,申请贷款。
·11:转让、交房、结算费用。
·12:纳税,领取产证。
·13:等贷款,按时还款。
·14:安排新家并入住,享受新家的喜悦。
·15:举行搬家仪式,邀请亲友聚会,共同庆祝新家落成。
完成上述流程后,您将拥有自己的房子。如有疑问,请在评论区留言或私信给我。
如何在 ES 实现嵌套json对象查询,一次解释!
项目需求
在软件项目开发的实际过程中,由于业务需要,我们的数据库表和表之间的结构是一对多的。以订单表中的数据为例,在mysql数据库中,它们的关系如下图所示:
如果在mysql中查询,可以用join语句来实现;ES本身就是平铺的NoSQL,对于这个1:如何实现N的关联关系?
需求落地
常用的实践方案有三种:
●嵌套对象
●嵌套文档
●父子文档
嵌套对象
先看看它看起来像什么样子
"order_id":{
"type":"keyword"
"cancel_time":{
"type":"date",
"format":"yyyy-MM-ddHH:mm:ss"
"order_status":{
"type":"keyword"
"completed_time":{
"type":"date",
"format":"yyyy-MM-ddHH:mm:ss"
"create_time":{
"type":"date",
"format":"yyyy-MM-ddHH:mm:ss"
"is_delete":{
"type":"keyword"
"modify_time":{
"type":"date",
"format":"yyyy-MM-ddHH:mm:ss"
"order_user":{
"properties":{
"name":{
"type":"text",
"analyzer":"ik_max_word"
"tel":{
"type":"text",
"analyzer":"ik_max_word"
"user_id":{
"type":"keyword"
如何在ES中筛选嵌套对象?请看示例
POSTorder_index/_search
"query":{
"bool":{
"must":[
"match":{
"order_user.name":"张三"
"match":{
"order_user.tel":""
优点:查询时不涉及join,查询效率很高
缺点:由于json对象数组的处理是压扁的,存储在平面键对列表中,因此缺乏相关性。
嵌套文档
先看看它看起来像什么样子
"address_list":{
"type":"nested",
"properties":{
"city_id":{
"type":"keyword"
"city_name":{
"type":"text",
"analyzer":"ik_max_word"
"district_id":{
"type":"keyword"
"district_name":{
"type":"text",
"analyzer":"ik_max_word"
"lat":{
"type":"geo_point"
"lon":{
"type":"geo_point"
"name":{
"type":"text",
"analyzer":"ik_max_word"
"province_id":{
"type":"keyword"
"province_name":{
"type":"text",
"analyzer":"ik_max_word"
如何在ES中筛选嵌套对象?请看示例
POSTorder_index/_search
"query":{
"nested":{
"path":"address_list",
"query":{
"bool":{
"must":[
"match":{
"address_list.province_name":"上海市"
"match":{
"address_list.district_name":“浦东新区”
}优点:嵌套文档将实体关系嵌套在单个文档中(类似于与json的一对多层次结构)的缺点:nested子文档是ES中的独立文档,会导致数据量急剧增加,影响查询性能。更新所有主文档,影响写作性能。不支持子文档属于多个主文档的场景。
父子文档
先看看它看起来像什么样子
"mappings":{
"_doc":{
"properties":{
"parent_id":{
"type":"keyword"
"parent_join_child":{
"type":"join",
"relations":{
"question":"answer"
parent_id是自定义的字段,parent_join_child是我们父子文档关系的名字,可以自定义。join说是父子文档关系,relations说question是父子,answer是子。
首先,我们插入两个父文档。
PUTexam_index/_doc/1
"parent_id":"1",
"text":“这是一个问题1”,
"parent_join_child":{
"name":"question"
PUTexam_index/_doc/2
"parent_id":"2",
"text":“这是个问题2”,
"parent_join_child":{
"name":"question"
其中"name":"question表示插入的是父文档。
然后插入两个子文档
PUTexam_index/_doc/3?routing=1
"parent_id":"3",
"text":“这是一个答案1,对应问题1”,
"parent_join_child":{
"name":"answer",
"parent":"1"
PUTexam_index/_doc/4?routing=1
"parent_id":"4",
"text":“这是一个答案2,对应问题1”,
"parent_join_child":{
"name":"answer",
"parent":"1"
有很多事情需要解释。首先,我们可以从文档id中判断子文档是独立的文档(不同于nested)。其次,routing关键字表明,路由的id是父文档1,与下面的parent关键字对应的id一致。需要强调的是,在索引子文档时,routing是必要的,因为有必要确保子文档和父文档在同一部分。"name":"answer“关键字表明这是一个子文档。
特点:父子文档类似于关系数据库中的关联关系,适用于写多场景
现在exam_index索引中有四个独立的文档,我们来看看父子文档在搜索时的姿势。
如果我们想通过子文档信息查询父文档,可以通过以下方式实现:
POSTexam_index/_search
"query":{
"has_child":{
"type":"answer",
"query":{
"match":{
"text":"回答"
返回结果:
"_index":"exam_index",
"_type":"_doc",
"_id":"1",
"_score":1,
"_source":{
"my_id":"1",
"text":“这是一个问题1”,
"parent_join_child":{
"name":"question"
若要通过父文档信息查询子文档,可通过以下方式实现:
POSTexam_index/_search
"query":{
"has_parent":{
"parent_type":"question",
"query":{
"match":{
"text":"问题"
返回结果:
"_index":"crm_exam_index",
"_type":"_doc",
"_id":"3",
"_score":1,
"_routing":"1",
"_source":{
"my_id":"3",
"text":“这是一个答案1,对应问题1”,
"parent_join_child":{
"name":"answer",
"parent":"1"
"_index":"crm_exam_index",
"_type":"_doc",
"_id":"4",
"_score":1,
"_routing":"1",
"_source":{
"my_id":"4",
"text":“这是一个答案2,对应问题1”,
"parent_join_child":{
"name":"answer",
"parent":"1"
若要通过父ID查询子文档,可通过以下方式实现:
POSTexam_index/_search
"query":{
"parent_id":{
"type":"answer",
"id":"1"
返回结果与上述结果相同,区别在于parent_id搜索默认使用相关性评分,而has_parent默认不使用评分。
●每个索引只能定义一个joinfield
●父子文档必须在同一部分上,这意味着查询,更新操作需要添加routing
●可以向已经存在的joinfield增加关系
●父子文档适用于数据结构基本相同的场景。如果两个表结构完全不一致,则不建议使用此结构
●父子文档也有缺点,查询速度是这三个方案中最慢的
2023年上海考生高考成绩分布表公布,619分及以上48人
刚才,上海市教育考试院公布了2023年考生高考成绩分布表。其中,619分及以上考生48人。
考生高考成绩分布表(思想政治、历史、地理、物理、化学、生物学),考生可登录“2023年高考志愿辅助填报系统”查询。
请登录“上海招考热线”网站查询2023年艺体考生成绩分布情况。
如果你最近也在看公寓,一定要知道二手房买房的流程,来吧...
上海购房流程。
购房过程非常复杂。本文将全面介绍从看房到入住的15个环节。对于第一次买房的人来说,这篇文章非常有价值。建议收集并表扬它。本文将详细介绍从看房到入住新家的15个环节。直接去干货没有废话。
·1:查征信。
·2:确定预算。
·3:确定片区。
·4:网上筛选房源。
·5:实地看房。
·6:比较几套房子的优缺点。
·7:选择最满意的房子,了解税费、首付和付款方式。
·8:与业主协商,签订购房合同,确定付款时间。
·9:支付定金,核实产权、产权调和产权证书。
·10:准备材料,签订合同,申请贷款。
·11:转让、交房、结算费用。
·12:纳税,领取产证。
·13:等贷款,按时还款。
·14:安排新家并入住,享受新家的喜悦。
·15:举行搬家仪式,邀请亲友聚会,共同庆祝新家落成。
完成上述流程后,您将拥有自己的房子。如有疑问,请在评论区留言或私信给我。
如何在 ES 实现嵌套json对象查询,一次解释!
项目需求
在软件项目开发的实际过程中,由于业务需要,我们的数据库表和表之间的结构是一对多的。以订单表中的数据为例,在mysql数据库中,它们的关系如下图所示:
如果在mysql中查询,可以用join语句来实现;ES本身就是平铺的NoSQL,对于这个1:如何实现N的关联关系?
需求落地
常用的实践方案有三种:
●嵌套对象
●嵌套文档
●父子文档
嵌套对象
先看看它看起来像什么样子
"order_id":{
"type":"keyword"
"cancel_time":{
"type":"date",
"format":"yyyy-MM-ddHH:mm:ss"
"order_status":{
"type":"keyword"
"completed_time":{
"type":"date",
"format":"yyyy-MM-ddHH:mm:ss"
"create_time":{
"type":"date",
"format":"yyyy-MM-ddHH:mm:ss"
"is_delete":{
"type":"keyword"
"modify_time":{
"type":"date",
"format":"yyyy-MM-ddHH:mm:ss"
"order_user":{
"properties":{
"name":{
"type":"text",
"analyzer":"ik_max_word"
"tel":{
"type":"text",
"analyzer":"ik_max_word"
"user_id":{
"type":"keyword"
如何在ES中筛选嵌套对象?请看示例
POSTorder_index/_search
"query":{
"bool":{
"must":[
"match":{
"order_user.name":"张三"
"match":{
"order_user.tel":""
优点:查询时不涉及join,查询效率很高
缺点:由于json对象数组的处理是压扁的,存储在平面键对列表中,因此缺乏相关性。
嵌套文档
先看看它看起来像什么样子
"address_list":{
"type":"nested",
"properties":{
"city_id":{
"type":"keyword"
"city_name":{
"type":"text",
"analyzer":"ik_max_word"
"district_id":{
"type":"keyword"
"district_name":{
"type":"text",
"analyzer":"ik_max_word"
"lat":{
"type":"geo_point"
"lon":{
"type":"geo_point"
"name":{
"type":"text",
"analyzer":"ik_max_word"
"province_id":{
"type":"keyword"
"province_name":{
"type":"text",
"analyzer":"ik_max_word"
如何在ES中筛选嵌套对象?请看示例
POSTorder_index/_search
"query":{
"nested":{
"path":"address_list",
"query":{
"bool":{
"must":[
"match":{
"address_list.province_name":"上海市"
"match":{
"address_list.district_name":“浦东新区”
}优点:嵌套文档将实体关系嵌套在单个文档中(类似于与json的一对多层次结构)的缺点:nested子文档是ES中的独立文档,会导致数据量急剧增加,影响查询性能。更新所有主文档,影响写作性能。不支持子文档属于多个主文档的场景。
父子文档
先看看它看起来像什么样子
"mappings":{
"_doc":{
"properties":{
"parent_id":{
"type":"keyword"
"parent_join_child":{
"type":"join",
"relations":{
"question":"answer"
parent_id是自定义的字段,parent_join_child是我们父子文档关系的名字,可以自定义。join说是父子文档关系,relations说question是父子,answer是子。
首先,我们插入两个父文档。
PUTexam_index/_doc/1
"parent_id":"1",
"text":“这是一个问题1”,
"parent_join_child":{
"name":"question"
PUTexam_index/_doc/2
"parent_id":"2",
"text":“这是个问题2”,
"parent_join_child":{
"name":"question"
其中"name":"question表示插入的是父文档。
然后插入两个子文档
PUTexam_index/_doc/3?routing=1
"parent_id":"3",
"text":"这是一个答案1,对应问题1",
"parent_join_child":{
"name":"answer",
"parent":"1"
PUTexam_index/_doc/4?routing=1
"parent_id":"4",
"text":“这是一个答案2,对应问题1”,
"parent_join_child":{
"name":"answer",
"parent":"1"
有很多事情需要解释。首先,我们可以从文档id中判断子文档是独立的文档(不同于nested)。其次,routing关键字表明,路由的id是父文档1,与下面的parent关键字对应的id一致。需要强调的是,在索引子文档时,routing是必要的,因为有必要确保子文档和父文档在同一部分。"name":"answer“关键字表明这是一个子文档。
特点:父子文档类似于关系数据库中的关联关系,适用于写多场景
现在exam_index索引中有四个独立的文档,我们来看看父子文档在搜索时的姿势。
如果我们想通过子文档信息查询父文档,可以通过以下方式实现:
POSTexam_index/_search
"query":{
"has_child":{
"type":"answer",
"query":{
"match":{
"text":"回答"
返回结果:
"_index":"exam_index",
"_type":"_doc",
"_id":"1",
"_score":1,
"_source":{
"my_id":"1",
"text":“这是一个问题1”,
"parent_join_child":{
"name":"question"
若要通过父文档信息查询子文档,可通过以下方式实现:
POSTexam_index/_search
"query":{
"has_parent":{
"parent_type":"question",
"query":{
"match":{
"text":"问题"
返回结果:
"_index":"crm_exam_index",
"_type":"_doc",
"_id":"3",
"_score":1,
"_routing":"1",
"_source":{
"my_id":"3",
"text":“这是一个答案1,对应问题1”,
"parent_join_child":{
"name":"answer",
"parent":"1"
"_index":"crm_exam_index",
"_type":"_doc",
"_id":"4",
"_score":1,
"_routing":"1",
"_source":{
"my_id":"4",
"text":“这是一个答案2,对应问题1”,
"parent_join_child":{
"name":"answer",
"parent":"1"
若要通过父ID查询子文档,可通过以下方式实现:
POSTexam_index/_search
"query":{
"parent_id":{
"type":"answer",
"id":"1"
返回结果与上述结果相同,区别在于parent_id搜索默认使用相关性评分,而has_parent默认不使用评分。
●每个索引只能定义一个joinfield
●父子文档必须在同一部分上,这意味着查询,更新操作需要添加routing
●可以向已经存在的joinfield增加关系
●父子文档适用于数据结构基本相同的场景。如果两个表结构完全不一致,则不建议使用此结构
●父子文档也有缺点,查询速度是这三个方案中最慢的
【琛从 BANK FINANCING】尊享直接对接老板
电话wx: 13501647909
我司专注于为上海小微企业、行业精英策划优质融资方案。为企业及个人客户提供了高性价比的融资方案,解决了小微企业融资难的问题,一站式助贷融资服务平台