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

手机免费网站微信购物网站开发

手机免费网站,微信购物网站开发,网页设计网站建设的基本流程,商城网站建设的优点一、基础概念 1. 索引#xff08;Index#xff09;#xff1a;索引是 Elasticsearch 中最基本的数据存储单位#xff0c;类似于关系型数据库中的数据库。一个索引可以包含多个文档#xff0c;每个文档都有一个唯一的 ID#xff0c;用于标识该文档。索引可以被分为多个分片…一、基础概念 1. 索引Index索引是 Elasticsearch 中最基本的数据存储单位类似于关系型数据库中的数据库。一个索引可以包含多个文档每个文档都有一个唯一的 ID用于标识该文档。索引可以被分为多个分片每个分片可以存储一部分文档数据。  2. 文档Document文档是 Elasticsearch 中的基本数据单元类似于关系型数据库中的行。每个文档都有一个唯一的 ID用于标识该文档。文档可以包含多个字段每个字段都有一个数据类型例如字符串、数字、日期等。 3. 分片Shard分片是 Elasticsearch 中的数据分布方式用于将索引分成多个部分每个部分可以存储一部分文档数据。分片可以被分配到不同的节点上以实现数据的分布式存储和查询。 4. 节点Node节点是 Elasticsearch 中的一个实例它可以存储一部分数据和处理查询请求。一个节点可以属于一个或多个集群每个集群可以包含多个节点。节点之间可以通过网络通信来协调数据的存储和查询。 架构是分布式的它将数据分成多个分片存储在不同的节点上通过网络通信来协调数据的存储和查询。这种架构可以实现高可用性、高性能和可扩展性。 二、创建索引 1.在客户端调用API创建索引.NET CORE[c#] /// summary /// 如果索引不存在就创建 /// /summary /// param nameindex/param /// returns/returns public async Task CreateIndexIfNotExistESEntity(string index)where ESEntity: ESBase,new () {if (index.IsNullOrEmpty()){return;}//指定分片数量IIndexState indexState new IndexState{Settings new IndexSettings{NumberOfReplicas 0, NumberOfShards 5 } };//自动映射 指定属性映射//https://blog.csdn.net/WuLex/article/details/71375032FuncCreateIndexDescriptor, ICreateIndexRequest func x x.InitializeUsing(indexState).MapESEntity(m m.AutoMap().Properties(ps ps.NestedESContent(n n.Name(c c.Contents).AutoMap().Properties(ps ps.NestedESFileContent(n n.Name(c c.FileContents).AutoMap())))));var response await Client.Indices.CreateAsync(index, func);if (response ! null response.ApiCall ! null response.ApiCall.DebugInformation.IsNotNullOrEmpty()){if (!response.ApiCall.Success){Logger.LogInformation($创建索引:{response.DebugInformation}); }}} 2.直接执行 json脚本创建 PUT /my_index {settings: {number_of_shards: 1,number_of_replicas: 1},mappings: {properties: {title: {type: text},description: {type: text},price: {type: float},date: {type: date},tags: {type: keyword}}} } 二、查询 Elasticsearch 支持多种查询类型包括全文搜索查询、精确匹配查询、范围查询、布尔查询、聚合查询等;以下是使用 Elasticsearch 进行全文搜索查询、精确匹配查询、范围查询、布尔查询和聚合查询的示例 1.全文搜索查询 GET /my_index/_search {query: {match: {description: search term}} } 2.精确匹配查询 GET /my_index/_search {query: {term: {status: active}} } 3.范围查询 GET /my_index/_search {query: {range: {price: {gte: 10,lte: 100}}} } 4.布尔查询 GET /my_index/_search {query: {bool: {must: [{ match: { description: search term } },{ term: { status: active } }],must_not: [{ term: { category: books } }],should: [{ term: { brand: Apple } },{ term: { brand: Samsung } }]}} } 5.聚合查询统计总和、平均值、最大值和最小值... GET /index_topic/_search {query: {bool: {must: [{term: {Deleted: 0}},{term: {CountryId: CN}}]}}, size: 0,aggs: {total_count: {sum: {field: TopicId}},max_topic_id: {max: {field: TopicId}},min_topic_id: {min: {field: TopicId}}} } 6.通配符和正则表达式进行模糊匹配会让性能下降慎用特别是左模糊开启的时候 -- 右模糊匹配 GET /my_index/_search {query: {wildcard: {description: elasticsearch*}} }-- 正则GET /my_index/_search {query: {regexp: {description: .*elasticsearch.*}} } 7. 分页查询 {query: {match: {description: Elasticsearch tutorial}},from: 0,size: 10 } 8. 条件删除数据 POST /index_topic/_delete_by_query {query: {match: {TopicId: 1739499560356679680}} }三、设计索引时应该怎么考虑索引的分片和副本数、字段的类型和属性等因素 索引的分片和副本数分片和副本数是 Elasticsearch 中非常重要的概念它们可以影响索引的性能、可用性和容错能力。一般来说分片数应该根据数据量和查询负载来确定副本数应该根据可用性和容错能力来确定。如果数据量较大或查询负载较高可以增加分片数来提高查询性能如果需要提高可用性和容错能力可以增加副本数来实现数据冗余和负载均衡。 字段的类型和属性在定义索引中的字段时需要考虑字段的类型和属性以便更好地满足业务需求。例如如果需要进行全文搜索可以将文本类型字段设置为全文搜索类型并指定相应的分析器如果需要进行聚合查询可以将数值类型字段设置为聚合类型并指定相应的聚合方式。此外还可以设置字段的索引选项、存储选项、忽略字段等属性以便更好地控制字段的行为和性能。 索引的更新和删除策略在设计索引时需要考虑索引的更新和删除策略以便更好地控制索引的性能和存储空间。例如如果需要频繁更新或删除文档可以将索引设置为支持快速更新和删除的类型并使用合适的缓存策略来提高性能如果需要保留历史数据或备份数据可以将索引设置为支持冷热分离的类型并使用合适的存储策略来降低存储成本。 索引的查询负载和性能需求在设计索引时需要考虑索引的查询负载和性能需求以便更好地优化查询性能和响应时间。例如如果查询负载较高或查询响应时间较长可以使用缓存策略、查询优化器、索引分析器等技术来提高查询性能如果需要支持实时查询或高并发查询可以使用分布式查询、负载均衡、索引优化等技术来提高查询性能和可用性。 四、 ES 数据的冷热分离 设计 Elasticsearch 数据的冷热分离需要考虑以下几个方面 数据的访问频率将访问频率较高的数据放在热节点上访问频率较低的数据放在冷节点上。 数据的存储周期将存储周期较短的数据放在热节点上存储周期较长的数据放在冷节点上。 数据的大小将数据较小的放在热节点上数据较大的放在冷节点上。 数据的重要性将重要性较高的数据放在热节点上重要性较低的数据放在冷节点上。 在实际应用中可以通过以下几种方式来实现数据的冷热分离 使用 Elasticsearch 的索引别名功能将热数据和冷数据分别放在不同的索引中并使用别名来统一访问。 使用 Elasticsearch 的节点标签功能将热节点和冷节点分别打上不同的标签并使用标签来控制数据的路由。 使用 Elasticsearch 的分片路由功能将热数据和冷数据分别路由到不同的分片中并使用分片路由来控制数据的访问。 使用 Elasticsearch 的索引生命周期管理功能根据数据的存储周期来自动将数据从热节点转移到冷节点。
http://www.pierceye.com/news/399807/

相关文章:

  • 洛阳专业网站设计开发制作建站公司零陵区住房和城乡建设局网站
  • 在哪里可以学做网站游戏开发大亨下载
  • 找人做ps的网站无锡 做公司网站
  • 云速建站可以建个人网站吗wordpress仿站难吗
  • 如何取外贸网站域名凡科h5制作教程
  • 蜘蛛不抓取网站的原因中山h5网站建设
  • 百度免费推广网站建网站用的免费软件
  • 网站建设西安哪里好广州做企业网站的公司
  • 汉中市网站建设爱墙 网站怎么做
  • 失物招领网站开发项目需求分析搭建外文网站
  • 免费网站空间免备案自学php做网站
  • 南宁网站建设nnit30郴州市第一职业中专
  • 想开个影视网站 那有做的莱芜信息平台
  • js做网站登录有服务器了怎么做网站
  • 郑州餐饮网站建设哪家好零基础网站建设教学在哪里
  • 讲述做网站的电影建设工程公司名字大全
  • 易语言可以做网站管理系统吗网站备案查询工信部手机版
  • 珠海建站论坛淘宝客网站做一种还是做好几种
  • 杭州公司的网站建设公司教育网站制作运营
  • 福州手游网站建设长春火车站停运了吗
  • wordpress仿站博客视频教程建筑模板哪种好
  • 手机配件网站模板雇主品牌建设
  • 列车营销网站怎么做网站 审批号
  • 嘉定公司网站设计游仙建设局官方网站
  • 青山做网站西安十大网站制作公司
  • 网站服务器租用一年多少钱啊seo优化检测
  • 北京网站建设联系电话长春市网络科技有限公司
  • 软件下载网站免费大全济宁医院网站建设
  • 龙岩到永定株洲网站推广优化
  • 个人网站建设研究意义朔州seo网站建设