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

阿里云网站费用吗高水平的郑州网站建设

阿里云网站费用吗,高水平的郑州网站建设,织梦做的网站在百度搜索页劫取,做网站后开办会员1.什么是ElasticSearch?Elasticsearch是基于Lucene的搜索引擎。它提供了一个分布式#xff0c;支持多租户的全文搜索引擎#xff0c;它具有HTTP Web界面和无模式JSON文档。 Elasticsearch是用Java开发的#xff0c;根据Apache许可条款作为开源发布。----来自维基百科的解释… 1.什么是ElasticSearch?Elasticsearch是基于Lucene的搜索引擎。它提供了一个分布式支持多租户的全文搜索引擎它具有HTTP Web界面和无模式JSON文档。 Elasticsearch是用Java开发的根据Apache许可条款作为开源发布。----来自维基百科的解释我个人的理解是Elasticsearch以下简称ES是一个支持分布式的全文搜索引擎因为在海量数据搜索时普通关系型、非关系型数据库因为IO读取、处理器运算能力的限制导致查询效率难以提升但是ES是分布式的能把处理压力分摊给每个节点而且它是给每个词创建索引所以查询效率极高堪称即时搜索。而且ES能搭配Kibana,实现数据的可视化管理与数据分析。                                                                           Kibana仪表盘2.ES中名词概念2.1 Node和Cluster前面所过ES是一个分布式搜索引擎其本质是一个分布式数据库可以多台计算机上的ES实例协同工作这里面的某一台计算机上的某个ES实例就可以称为一个Node(节点)所有的这些协同工作的实例可以称为一个Cluster(集群)。2.2 IndexElastic 会索引所有字段经过处理后写入一个反向索引Inverted Index。查找数据的时候直接查找该索引。所以Elastic 数据管理的顶层单位就叫做 Index索引。它是单个数据库的同义词。每个 Index 即数据库的名字必须是小写。2.3 DocumentIndex 里面单条的记录称为 Document文档。许多条 Document 构成了一个 Index。Document 使用 JSON 格式表示下面是一个例子。{user: 张三,title: 工程师,desc: 数据库管理 }同一个 Index 里面的 Document不要求有相同的结构scheme但是最好保持相同这样有利于提高搜索效率。2.4 TypeDocument 可以分组比如weather这个 Index 里面可以按城市分组北京和上海也可以按气候分组晴天和雨天。这种分组就叫做 Type它是虚拟的逻辑分组用来过滤 Document。不同的 Type 应该有相似的结构schema举例来说id字段不能在这个组是字符串在另一个组是数值。这是与关系型数据库的表的一个区别。性质完全不同的数据比如products和logs应该存成两个 Index而不是一个 Index 里面的两个 Type虽然可以做到。根据规划Elastic 6.x 版只允许每个 Index 包含一个 Type7.x 版将会彻底移除 Type。----参考阮一峰 全文搜索引擎 Elasticsearch 入门教程3.ES工作原理Elasticsearch用于构建高可用和可扩展的系统。扩展的方式可以是购买更好的服务器(纵向扩展)或者购买更多的服务器横向扩展。Elasticsearch虽然能从更强大的硬件中获得更好的性能但是纵向扩展有它的局限性。真正的扩展应该是横向的它通过增加节点来均摊负载和增加可靠性。如果我们启动一个单独的节点它还没有数据和索引这个集群看起来就像下图。集群中一个节点会被选举为主节点(master),它将临时管理集群级别的一些变更例如新建或删除索引、增加或移除节点等。主节点不参与文档级别的变更或搜索这意味着在流量增长的时候该主节点不会成为集群的瓶颈。任何节点都可以成为主节点。我们例子中的集群只有一个节点所以它会充当主节点的角色。当索引创建完成的时候主分片的数量就固定了但是复制分片的数量可以随时调整。让我们在集群中唯一一个空节点上创建一个叫做 blogs 的索引。默认情况下一个索引被分配5个主分片但是为了演示的目的我们只分配3个主分片和一个复制分片每个主分片都有一个复制分片PUT /blogs{settings : {number_of_shards : 3,number_of_replicas : 1}}我们的集群现在看起来就像上图三个主分片都被分配到 Node 1 。在单一节点上运行意味着有单点故障的风险没有数据备份。幸运的是要防止单点故障我们唯一需要做的就是启动另一个节点。如果我们启动了第二个节点这个集群看起来就像下图第二个节点已经加入集群三个复制分片(replica shards)也已经被分配了分别对应三个主分片这意味着在丢失任意一个节点的情况下依旧可以保证数据的完整性。文档的索引将首先被存储在主分片中然后并发复制到对应的复制节点上。这可以确保我们的数据在主节点和复制节点上都可以被检索。随着应用需求的增长我们该如何扩展如果我们启动第三个节点我们的集群会自我感知这时便成为了三节点集群。分片已经被重新分配以平衡负载从 Node 1 和 Node 2 来的分片已经被移动到新的 Node 3 上这样每个节点就有两个分片以代替之前的三个。这意味着每个节点的硬件资源CPU、RAM、I/O被较少的分片共享这样每个分片就会有更好的表现。分片本身就是一个完整成熟的搜索引擎它可以使用单一节点的所有资源。使用这6个分片3个主分片和三个复制分片我们可以扩展最多到6个节点每个节点上有一个分片这样就可以100%使用这个节点的资源了。----参考文献Elasticsearch: 权威指南4.ES的安装与使用4.1安装因为每个平台上ES安装方法有所区别而且网络上有较为详细的安装教程本文在此不再赘述。原本是想着在我的两台腾讯云Centos服务器上搭建一个ES集群的但是因为云服务器内存1G运行ES时总是报错大体意思是内存不足所以我就在自己的PC上,只搭建了一个ES节点还不算ES集群不过不影响功能的测试。Windows环境下ES 6.4 MSI下载地址https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.4.0.msi一路默认下一步安装完成后在浏览器地址输入http://localhost:9200/如果您能看到下列结果说明安装完成。You Know, for SearchES有一套Restful 风格的API系统通过该API我们与ES进行交互。4.2数据的提交利用PostMan向ES POST一条数据如下。http://localhost:9200/index/test1/1 中Index是该数据的Index(上文有介绍Index),test1是该数据的Type,1是该条数据的Id,该ID在通过ID获取数据时需要用到。4.3数据通过ID获取在知道数据的Index,Type和ID的情况下可以通过和上文Post数据的Url一样的格式获取数据不同之处时此时的HTTP方法时Get,如下4.4数据的查询ES的数据查询语法较为丰富此处以一个最简单的查询为例Http方法为POST,请求的Url中同样指定了Index和Type{   query : { match : { tagline : for }}}指的时查询tagline中包含的for的数据其他更详细的查询语法建议大家查看Elasticsearch: 权威指南此处主要抛砖引玉。5.Net Core中使用ES在上文中我们了解到可以通过restful api与ES进行交互那么如果需要在我们的程序中使用ES是不是要创建一个这样的Helper方法通过HTTP调用RESTFul API与ES进行交互呢不是不可以但是Elastic为大部分语言都创建了Clients”其实就是把上文提及的那些方法进行了一个封装是我们在代码中能够方便地调用ES。以.Net Core为例该”Clients”开源在Github:https://github.com/elastic/elasticsearch-net5.1 SDK客户端,Clients在该仓库中其实有Elasticsearch.Net 和 NEST两个.Net官方SDK,两个各有特色。Elasticsearch.Net 是一个非常low leave而且灵活的SDK它不在意你如何的构建自己的请求和响应。它非常抽象因此所有的Elasticsearch RESTFul API被表示为方法而且不会影响你构建json / request / response对象的方式。 它还内置可配置/可覆盖的群集故障转移重试机制。NEST 是一个 high level SDK, 有非常大的弹性如果你想更好的提升你的搜索服务你完全可以使用它来做为你的客户端。可以映射所有请求和响应对象拥有一个强类型DSL领域特定语言并且可以使用.net的特性如协变、Auto Mapping Of POCOsNEST内部使用的依然是Elasticsearch.Net客户端。5.2创建一个Demo本Demo我使用的NEST所以第一步是创建一个Asp.Net Core Api应用程序并引入NEST的Nuget包。PM Install-Package NEST 然后我创建一个EsClientProvider,代码如下EsClientProvider代码如下    public interface IEsClientProvider{ElasticClient GetClient();} 然后再Startup的ConfigureServices进行服务的注册最后修改ValueContoller,代码如下其中Index方法能进行数据的提交Search是通过Post实体的type来进行数据查询。 代码不复杂我就不详细介绍了在PostMan中进行Search方法的测试效果如下查询要求是type是567,响应的实体中type确实为567,Success! 项目完整代码https://github.com/liuzhenyulive/Elasticsearch.Net-Demo相关文章使用ElasticSearchKibanaASP.NET Core和Docker可视化数据配置高性能ElasticSearch集群的9个小贴士使用Elasticsearch 与 NEST 库 构建 .NET 企业级搜索asp.Net Core免费开源分布式异常日志收集框架Exceptionless安装配置以及简单使用图文教程原文地址:https://www.cnblogs.com/CoderAyu/p/9601991.html.NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com
http://www.zqtcl.cn/news/753747/

相关文章:

  • 罗湖网站制作阿里巴巴开店网站怎么做
  • 深圳住房和建设局网站 招标怎样建设自己的视频网站
  • 网站建设的目的模板茶网站建设需要多少钱
  • 珠海市城乡住房建设局网站网站外链
  • 福田做网站需要多少钱做淘宝客网站性质
  • html网站怎么进入后台网站主题怎么写
  • wordpress怎么ftp建站高端网站建设域名注册
  • 我用织梦5.7做个网站应该把淘宝客店铺链接放到哪聊天软件开发需要多少钱
  • 站长工具爱站竞价单页网站制作
  • 网站分类目录大全购物网站大全棉鞋
  • 网站镜像做排名建立外贸英文网站应该怎么做
  • 上海做网站就用乐云seo手机网站cms 下载
  • 做网站需要固定ip么灵犀科技网站建设
  • 深圳高端做网站建设网站备案与不备案区别
  • 家居企业网站建设公司苏州高新区建设局网站管网
  • 体育门户网站模板seo网络推广有哪些
  • 石家庄网站建设教程百度云下载
  • 怎样查看网站建设时间公司网站关键词优化
  • 网站淘宝推广怎么做网站seo基本流程
  • miit网站备案济南哪里做网站
  • 做网站软件的公司前端优化
  • 哪个网站有做形象墙汉沽网站建设制作
  • 网站alexa排名查询免费发帖的平台有哪些
  • 德国网站后缀濮阳房产网站建设
  • 漕泾网站建设做网站php语言用什么工具
  • 专业营销的网站建设公司哪家好专门做二手书的网站
  • 建新网站开发流程图电子商务网站开发综合实训报告
  • 临汾网站建设销售长沙网站建设1681989
  • 最近国内外重大新闻事件贺贵江seo教程
  • 网站开发源码网站运营建设方案