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

江苏省建设考试网站准考证打印佛山网站建设锐艺a068

江苏省建设考试网站准考证打印,佛山网站建设锐艺a068,新乡移动网站建设,电子商务网站开发费用调研报告写在前面 本文看下es数据建模相关的内容。 1#xff1a;什么是数据建模 数据建模是对真实数据的一种抽象#xff0c;最终映射为计算机形式的表现。其包括如下三个阶段#xff1a; 1#xff1a;概念模型 2#xff1a;逻辑模型 3#xff1a;数据模型2#xff1a;es数据…写在前面 本文看下es数据建模相关的内容。 1什么是数据建模 数据建模是对真实数据的一种抽象最终映射为计算机形式的表现。其包括如下三个阶段 1概念模型 2逻辑模型 3数据模型2es数据建模的过程 es的数据建模其实就是确定各个字段都需要如何进行设置什么类型是否需要搜索等具体需要考虑的问题如下 注意以上四个要素没有先后的顺序而只是需要综合考虑的因素。 2.1数据类型 为了选择合适的数据类型我们来看下每种数据类型的特点。 2.1.1text 默认会被分词器分词可以搜索但是不支持聚合和排序如果想要支持的话需要显式将fielddata设置为true。 2.1.2keyword 不会被分词所以一般用在不需要分词时使用如主键id邮箱手机号身份证号等。支持聚合搜索和排序,以及用于查询时精确匹配方式的过滤。 2.1.3多字段类型 当希望一个数据按照多种的数据类型来存储从而满足诸如按照不同的分词器进行分词按照不同的查询条件进行查询如存储为int则可以按照range来查询但又不希望设置多个字段时使用。默认的在es中如果时字段时text类型的则会默认添加一个名称为keyword的keyword类型的字段当然实际工作中我们我们不需要这个默认行为则可以通过显式mapping来自己定义。 2.1.4数值类型 数值类型是一种结构化数据数值类型应该尽量设置能够满足存储要求的最小类型如可以设置为byte就不要设置为long。 2.1.5枚举类型 枚举类型是一种结构化数据建议设置为keyword以获得更好的性能。 2.1.6日期布尔地理信息等 设置为对应的类型即可。 2.2搜索,聚合排序 搜索 是否需要被搜索也是对字段进行建模时要考虑的一个重要因素因为搜索功能需要分词以及创建对应的倒排索引数据结构所以需要额外的存储消耗以及构建对应数据结构的性能消耗。聚合排序 聚合和排序功能需要依赖于doc_values和fielddata需要简历对应的数据结构来满足聚合和排序功能因此也会有对应的存储成本和对应数据结构的维护成本。 对于这三个因素可从以下方面进行考虑 1如果是同时不需要搜索聚合和排序则可考虑设置enablefalse不存储_source还需要注意不存储_source的话将无法reindex和更新 2如果是不需要搜索则可以设置indexfalse 3如果不需要聚合和排序则可以设置doc_values和fielddata为false 4如果是更新频繁聚合频繁则可考虑设置keyword类型的eager_global_ordinals为true可以利用缓存来提高性能。2.3额外存储字段值 如果希望额外存储字段值则可以设置store:true一般结合enbledfalse使用。 enabledfalse一般应用在一些指标数据的存储上这些数据不需要reindex更新。此时如果还希望查看某些字段的话则可以设置store为true。 但是实际的应用中不建议直接设置enabledfalse而是考虑使用高压缩的存储方式来减少存储的开销。 2.4数据建模优化实例 假定我们要对如下的数据进行建模 如下是默认生成的mapping 其中cover_url被自动映射为text类型并增加keyword类型的子字段如下 # Index 一本书的信息 PUT books/_doc/1 {title: Mastering ElasticSearch 5.0,description: Master the searching, indexing, and aggregation features in ElasticSearch Improve users’ search experience with Elasticsearch’s functionalities and develop your own Elasticsearch plugins,author: Bharvi Dixit,public_date: 2017,cover_url: https://images-na.ssl-images-amazon.com/images/I/51OeaMFxcML.jpg }#查询自动创建的Mapping GET books/_mapping假定根据实际的业务需求cover url不需要支持搜索只需要支持聚合即可此时我们就可以将其显式的设置为keyword并将index设置为false如下 DELETE books#优化字段类型 PUT books {mappings: {properties: {author: {type: keyword},cover_url: {type: keyword,index: false},description: {type: text},public_date: {type: date},title: {type: text,fields: {keyword: {type: keyword,ignore_above: 100}}}}} }GET books/_mapping此时cover_url因为设置了index:false就不支持搜索了 #Cover URL index 设置成false无法对该字段进行搜索 POST books/_search {query: {term: {cover_url: {value: https://images-na.ssl-images-amazon.com/images/I/51OeaMFxcML.jpg}}} }但依然是支持聚合的 #Cover URL index 设置成false依然支持聚合分析 POST books/_search {aggs: {cover: {terms: {field: cover_url,size: 10}}} }假定需求发生变更要求将文章的内容存储在content字段中并且不需要做更新和reindex。 考虑到content内容比较大所以如果放在_source中返回的话会占用比较多的网络带宽资源并且数据查询到额速度也会降低所以为了解决这个问题我们可以考虑如下的两种方案 1source filtering不返回数据特别是content 2设置enabled:false并设置字段store:true其中对于1source_fitering 只是在返回给客户端时不返回在汇总数据时还是返回的如下图 所以对于这个需求我们需要通过2设置enabledfalse来解决。 如下在mapping中显式设置enabledfalse: DELETE books #新增 Content字段。数据量很大。选择将Source 关闭 PUT books {mappings: {_source: {enabled: false},properties: {author: {type: keyword,store: true},cover_url: {type: keyword,index: false,store: true},description: {type: text,store: true},content: {type: text,store: true},public_date: {type: date,store: true},title: {type: text,fields: {keyword: {type: keyword,ignore_above: 100}},store: true}}} }插入数据: # Index 一本书的信息,包含Content PUT books/_doc/1 {title: Mastering ElasticSearch 5.0,description: Master the searching, indexing, and aggregation features in ElasticSearch Improve users’ search experience with Elasticsearch’s functionalities and develop your own Elasticsearch plugins,content: The content of the book......Indexing data, aggregation, searching. something else. something in the way............,author: Bharvi Dixit,public_date: 2017,cover_url: https://images-na.ssl-images-amazon.com/images/I/51OeaMFxcML.jpg }#查询结果中Source不包含数据 POST books/_search {}但依然可以查询和高亮因为store:true所以会存储字段的原始值但是enabledfalse所以原始文档是不存储的即_source是没有信息的 #搜索通过store 字段显示数据同时高亮显示 conent的内容 POST books/_search {stored_fields: [title,author,public_date],query: {match: {content: searching}},highlight: {fields: {content: {}}} }写在后面 参考文章列表 source filtering 。
http://www.pierceye.com/news/306977/

相关文章:

  • 网站服务器连接被重置为什么高德地图没有外国位置信息
  • 帝国cms 仿站 wordpress天津新亚太工程建设监理有限公司网站
  • 精品网站导航 做最好的导航网站建设数据库选择
  • 蓝杉网站建设公司贵阳网站建设公司排名
  • 苏州专业高端网站建设机构建网站公司下载快手
  • 中堂仿做网站个人网站设计论文道客巴巴
  • 怎么用ps做网站效果图24什么网站建设
  • 网站开发技术有网站建设方案 pdf
  • 网站建设教程浩森宇特福州医院网站建设公司
  • 怎样在网站上做超链接网站商城是用什么框架做的
  • 网站建设增城wordpress新文章类型
  • 广州市招投标中心官网上海网站关键词优化
  • 很多网站开发没有框架如何制作的长沙旅游景点大全排名
  • 云南网站推广的目的做动画的网站有哪些
  • 网站建设公司在哪里找资源模拟建设网站
  • 如何盗用网站模板哈尔滨公告
  • 管理咨询网站焦作专业做网站公司哪家好
  • 在国内做跨境电商怎么上外国网站网站不收录
  • 网站介绍ppt怎么做屏蔽网站ip
  • it公论 是建立在什么网站wordpress搬迁数据库连接失败
  • 南县建设局网站营销型网站开发流程包括
  • 有关应用网站申请免费网站空间
  • 二手书交易网站开发现状营销型网站建设推荐乐云seo
  • 山西网站建设怎么样seo优化网站多少钱
  • 网站建设设计模板磁力链最佳的搜索引擎
  • 单位外部网站建设价格哪些网站可以做视频直播
  • 广州黄埔网站建设公司国外做调灵风暴的网站
  • 珠海附近交友平台软件广州网站优化推广方案
  • cgi做网站如何将网站加入百度图 推广
  • 小贷做网站深圳手机app软件开发