当前位置: 首页 > wzjs >正文

建设工业网站百度数据分析工具

建设工业网站,百度数据分析工具,京东网站建设流程和结构图,PHP网站开发项目式教程如何查询博客作者姓名中带“旺”字、博客标题中带“运”的10篇博客列表 一、 应用层做联接 建立两个索引,先从博客作者中查询出符合姓名中带“旺”字的作者ID, 然后根据这些ID、博客标题中带“运”字这两个条件查询出来博客列表 优点: 数据很…
如何查询博客作者姓名中带“旺”字、博客标题中带“运”的10篇博客列表
一、 应用层做联接
建立两个索引,先从博客作者中查询出符合姓名中带“旺”字的作者ID,
然后根据这些ID、博客标题中带“运”字这两个条件查询出来博客列表
优点: 数据很规范清晰,作者一个索引,博客一个索引
缺点: 如果查询出来的作者ID很多的情况造成效率很低(如果有10万作者的话,每一次分页都需要先查作者,再拿作者ID为条件)
二、非规范化的数据
同一个索引中,博客作者和博客发布表整合成一个文档
冗余、冗余、冗余
优点:不需要做联接
缺点:由于作者博客为一对多关系,每次修改了作者姓名,都需要更新所有的索引文档数据,每次都需要批量改
三、嵌套对象
博客作者和博客发布存在于一个文档(nested)
索引映射中,所有的博客作为数组嵌套的类型存在
优点:不需联接
缺点:只能返回符合条件的整个文档,不能部分返回嵌套文档中的数据(nested查询职能返回最顶层的文档)
四、父-子关系文档
博客作者和博客发布存在于一个文档(join)
映射时将其中一个字段作为连接字段,供作关联关系
优点:能返回想要的数据
缺点:性能差一点
使用父子文档的模式有一些需要特别关注的点:
1、每一个索引只能定义一个 join field
2、父子文档必须在同一个分片上,意味着查询,更新操作都需要加上 routing 可以向一个已经存在的join field上新增关系
总的来说,嵌套对象通过冗余数据来提高查询性能,适用于读多写少的场景。父子文档类似关系型数据库中的关联关系,适用于写多的场景,减少了文档修改的范围。
1、普通子对象模式实现一对多关系,会损失子对象的边界,子对象的属性之前关联性丧失。
2、嵌套对象可以解决普通子对象存在的问题,但是它有两个缺点,一个是更新主文档的时          候要全部更新,另外就是不支持子文档从属多个主文档的场景。
3、父子文档能解决前面两个存在的问题,但是它适用于写多读少的场景。
4、有了这样的粗略认知之后,实现开始提到的使用场景,选择第四种方案{父-子关系文            档}, 并在做了一个简单类似的实验
 1、创建索引及映射关系
put bnb_home{"mappings": {"home_search": {"properties": {"shop_room": {"type": "join","relations": {"shop": "room"}}}}}
}
2、添加父文档(酒店信息)
PUT bnb_home/home_search/1?refresh{"data": {"shopId":1, "shopName": "我是客栈锅手", "description": "我是一条测试数据"},"shop_room": {"name": "shop"}
}
3、添加子文档(酒店房间信息)***划重点:URL中的routing必须是parent ID 的值
PUT bnb_home/home_search/2?routing=1&refresh{"data": {"shopId":1, "roomId":1, "roomName": "我是一条小虫子", "description": "可爱清新风格"},"shop_room": {"name": "room","parent": "1"}
}
4、再添加子文档(酒店房间信息)
PUT bnb_home/home_search/3?routing=1&refresh{"data": {"shopId":1, "roomId":2, "roomName": "我是第二间房子", "description": "第二件仿佛回到开始"},"shop_room": {"name": "room","parent": "1"}
}
5、查询酒店(查询店铺名称中带”你好“,房间名称带有“小虫”的{店铺})
POST bnb_home/_search{"query": {"bool":{"must":[{"match":{"data.shopName":"客栈"}},{"has_child" : {"type" : "room","query" : {"bool":{"must":[{"match":{"data.roomName":"小虫子"}}]}}}}]}}
}
6、查询酒店房间(查询店铺名称中带”你好“,房间名称带有“小虫”的{房间})
POST bnb_home/_search{"query": {"bool":{"must":[{"match":{"data.roomName":"小虫"}},{"has_parent" : {"parent_type" : "shop","query" : {"bool":{"must":[{"match":{"data.shopName":"客栈"}}]}}}}]}}
}

以上是6.x未使用相关API,抄摘网上创建、添加、查询。在实际操作中我们可以直接导入Es - JavaAPI直接调用API不使用ES工具提交JSON请求【JSON书写过程中很容易出现错误,我们可以使用JSON效验工具】。

http://www.dtcms.com/wzjs/400165.html

相关文章:

  • 租空间做网站需要多少钱站长工具无内鬼放心开车禁止收费
  • 大连软件培训安徽seo优化规则
  • 网站报名照片怎么做推广链接
  • 做网站深圳黄页88推广多少钱一年
  • 网站视频模块配置参数全自动推广软件
  • 做app布局参考哪个网站网络营销公司名称
  • 网站建设销售要懂什么软文发布平台
  • 中山好的做网站的公司百度广告推广价格
  • 建设网站公司怎么样百度域名购买
  • 海外营销网站建设济南seo网站优化
  • web后端是做什么的济南优化网页
  • 公司转让员工有没有赔偿优化教程网
  • ps网站专题怎么做seo的培训课程
  • 创新创意产品设计作品哈尔滨关键词优化方式
  • 怎样做网站分析总结seo实战培训中心
  • wordpress手机网站怎么做猪八戒网接单平台
  • 绵阳网站建设费用百度信息流推广
  • 做电商网站注意什么沈阳沈河seo网站排名优化
  • 网站开发工期安排表网站排名优化培训电话
  • 怎么用思维导图做网站结构图长沙网站包年优化
  • 网站备案机构搜索引擎优化课程总结
  • vs2013网站开发seo专员很难吗
  • 做网站虚拟主机配置宁波网站seo公司
  • 有赞微商城下载青岛官网优化
  • 网站建设存在的困难百度竞价广告
  • 好看的 网站后台模板北京seo服务
  • 教务系统网站开发方法怎么优化关键词排名优化
  • 网页设计报告体会百度推广关键词优化
  • 江苏专业做网站的公司网站搜索系统
  • 网站如何做那种诱导广告国外推广网站有什么