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

惠州市住房和城乡建设局网站最新新闻热点事件素材2022

惠州市住房和城乡建设局网站,最新新闻热点事件素材2022,网站制作商家入驻,最好茶叶网站建设大家好#xff0c;我是泥腿子安尼特#xff0c;5个月没在李佬都公众号更新文章了。上一篇#xff0c;大致介绍了作为工具人的我是如何基本使用这一套ELK 系统的。今天就讲讲这个最重要的E——基于Lucene的搜索引擎ElasticSearch(后面简称ES)。最近刚搬家#xff0c;没想到隔… 大家好我是泥腿子安尼特5个月没在李佬都公众号更新文章了。上一篇大致介绍了作为工具人的我是如何基本使用这一套ELK 系统的。今天就讲讲这个最重要的E——基于Lucene的搜索引擎ElasticSearch(后面简称ES)。最近刚搬家没想到隔壁住的都是一对对情侣半夜三更令人脸红耳赤的声音在耳边听到就消散不去然后我就改了路由器名字提醒一下邻居结果当天晚上我的灯就坏了。。。真的不能做恶人。。。虽然自己业务需求也忙不过这都是借口自己挖的坑还是要自己填完。废话不多说跟随我的一张充满灵魂的图我们一起开始今天的内容一些基本名词名词解释备注cluster集群一个ES集群可以由1个或者多个node节点组成cluster是由一组包含相同的cluster.name的节点构成。在不修改默认配置的情况下各个node节点会自动组成一个叫elasticsearch的集群node每个集群实例中的一个节点当节点新加入或剔除时集群会自动均分数据到各个节点上。index虽然index翻译过来是索引的意思这里是一个指向一个或多个物理shard的逻辑命名空间可以把数据结构基本一致的文档放在同一个index里type类型低版本的ES可以在一个index里面多个type目前已在ES7舍弃 用一个_doc当做每个index的默认typeES8将完全移除typedocumentES存储的数据是文档型的一个index里面可以包含多个文档文档以json格式保存我们往ES里PUT一条数据就相当于生成一个文档每个文档有一个唯一ID(_id)field字段每个document由多个字段组成mapping各个字段的数据类型描述我们在插入一条document的时候如果不指定mappingES会自动给我们生成mappingES支持的字段类型还是挺多比如日期类型数值类型字符串等等还支持搞附近的人geohashshard分片(index里的数据可以分片的形式存在多个shard里方便横向扩容)每个index有1个或多个shard如果你是多节点的集群的话shard分布在不同的机器上shard还分为replica shard(备份分片 可调整)和primary shard(主分片 不可调整)replica副本可以备份数据用多个replica还可以提高查询的吞吐量query dslES的复杂查询语句简称就像我们查mysql叫查询语句叫sql一样很多ES的教程都会跟你类比index数据库 type表 document一行数据 field字段 mapping字段类型描述。其实这个不完全对你往index里面put一条数据的时候就生成了一个document每个文档有个唯一ID(_id),每个文档都有一个版本号每次修改或删除文档时_version就会自增。PUT一个document到一个index后ES会自动给我们生成mapping当然你也可以自定义mapping。默认情况下每个字段会被analyzed就是会被自动分词掉所以有时候你存进去的字段里面类似xxx_xx_xxxx的字符串时候你用xxx_xx_xxxx精准匹配竟然搜不到就是因为被自动analyzed的原因。倒排索引正排索引假如说你去面试你说用过ES面试官肯定会问你倒排索引。那什么是倒排索引是不是听着很niu bi。我就借着官网上了例子讲下:例如假设我们有两个文档的内容是The quick brown fox jumped over the lazy dogQuick brown foxes leap over lazy dogs in summerPUT完这两个之后ES会按标准模式(大写转小写单复数按单数同义词存一个单词)生成索引,查询输入内容也会被同样的做标准化处理。这时候存的索引可以简化为就像下面这样Term Doc_1 Doc_2-------------------------brown | X | Xdog | X | Xfox | X | Xin | | Xjump | X | Xlazy | X | Xover | X | Xquick | X | Xsummer | | Xthe | X | X------------------------这就把内容分词后拿分词的各个字段对应文档id所以也形象的称之为倒排索引。类比传统像mysql这样的数据库通常的做法是按id维度建立索引查询想要快也是通过id查具体的内容。而ES按分词来建立与文档ID的做法大大的提升全文搜索的速度。 当然 倒排索引还存了单词频率TF(即这个词在某个文档中的出现次数)还记录词文档出现的位置信息。所以我们每次查询的时候查询结果都会返回一个_score默认的查询结果按分值从高到低返回词在文档中出现次数越多词越相似分值越高这也符合我们想要的搜索结果。ES默认的分词器对于中文内容只会单纯的拆分每个中文字没法像英文文档用默认的就能得到强大的效果所以需要自行去找合适的中文分词器。那我们再简单来讲讲正排索引其实ES对于我们插入的内容除了会分词生成倒排索引之外它也会存每个字段的一些值(doc_value)。假如我们要根据查询结果按某个字段的的数值进行排序前面我们讲到ES的field是支持很多数据类型的所谓的正排索引就是单存的存了每个字段的原始值所以假如我们要对一个字符串类型的字段做排序那么我们要手动把它设为not_analyzed不然字符串类型的field是没办法排序的。基本的增删改查ES支持RESTful API 方便让我们执行很多操作。ES也有批量操作的Bulk API其实就相当于一次性发送多个语句过去。让我们在上一篇文章的基础上开启ES、Kibana然后打开Kibana的DevTools创建/删除一个indexPUT lib3DELETE lib3/查看index的信息GET /lib3/_settings创建index的时候我们还可以手动配置setting设置分片数量我单机ES默认就一个分片一个备份插入/更新一个documentPOST /lib3/_doc/{_id}{name:cxk,age:18,interests:[chang, tiao, rap, lanqiu]}我们插入文档的时候可以手动指定文档id (一般插入的时候都还是不指定id的)当然如果你不指定ES也会自动生成一个每个文档插入后也会生成一个自增的_version(插入的时候也可以指定version,默认的version是1到2^63-1 没修改一次自增1)。ES就是根据_version(版本控制)采用乐观锁来保证文档的更新。如果你指定了文档id并且这个文档存在那么ES就会覆盖更新这个文档。ES的实际上内部的更新策略就是先删除再插入所以ES的更新效率并不高。李老之前在搞附近的人项目中提到ES也是支持geohash数据类型的但是ES这样的架构更适合搞附近的店搞附近的人其实也能搞就是效率不是很高。按id精准查询documentGET /lib1/_doc/{_id}我们可以在查询的时候指定返回的字段只要在后面加上?_source字段1字段2 如果要按某字段(有doc_value)排序可以在后面加上sort字段:desc。默认情况下查询结果是不返回_version的如果你需要 可以在后面带上versiontrue按field匹配GET /lib3/_search?qname:cxk这时候我们发现查询结果回来的字段好多因为基本上我们使用搜索引擎的时候我们肯定事先是不知道内容到底在哪个document里的不然还用搜么-所以基本上是不可能按document id来查的。而基本上我们都要用到复杂查询对于一些简单的需求我们可以简单的用一个简单的语法?q字段:查询输入关键词 再复杂一点我们就要手撸更复杂的 query dsl语句了。后话本篇内容看似很长其实并没有讲透很多内容也只是对于ES做了一个简单的应用介绍。比如ES里面的倒排索引的底层数据结构到底是如何的还有像ES的_version到底是怎么靠乐观锁来更新的ES的各个node选master的算法ES里的field支持的数据类型以及它们怎么存储的都没一一展开深入。不过这不重要如果你不是专门从事搜索相关业务的技术开发每个点都去深究都可以写好几篇文章。我可能更多的想给一些业务开发以及没用过ES或者想尝试一下ES的泥腿子们提供一个简单快速入门的ES的介绍以及一些基本的使用。下一篇 我将花一整篇介绍query dsl话说这次修改路由器ssid名字我发现原来路由器的ssid有个32位长度限制过了几天后隔壁的果然消停了好多顺便也改了路由器的名字给我怼回来了参考资料https://www.elastic.co/guide/cn/elasticsearch/guide/current/index.htmlhttps://abcfy2.gitbooks.io/elasticsearch_the_definitive_guide/
http://wiki.neutronadmin.com/news/223999/

相关文章:

  • 做跨境电商的网站网址创作
  • 中国站长舆情网站直接打开的软件
  • 寻找电商网站建设用户图片上传wordpress
  • 携程旅行网站建设分析网站404页面查询
  • 做网站赚钱多吗做计算机版权需要网站源代码
  • 集团网站建设要多少钱开发公司修路的费用
  • 优秀的设计网站推荐网站自己做服务器划算吗
  • 百盛联合建设集团网站企业网站模板 网页模板
  • 代做机械毕业设计网站如何在百度上为企业做网站
  • 保定网站建设公司哪家好查企业下载什么软件
  • 潜江做网站的请简述网站建设的一般流程
  • 网站打开速度突然变慢的原因wordpress不同分类模板
  • 极简风格网站介绍鄂州一网
  • 新注册公司网站免费怎么做关于网站建设的故事
  • 上海工程建设招投标网站wordpress多站点统计
  • 招聘网站建设的项目描述wordpress文章采集发布插件
  • 模板网站有利于优化ps制作博客网站界面
  • 网站建设报价表模板下载wordpress怎么链接地址
  • 帝国网站调用图片集网站优化方案案例
  • 统计局网站建设情况猪场宣传网站怎么建设
  • 拱墅区网站建设高端网站建设 上海
  • 网站设置的用途网站建设小程序定制开发
  • 怎么做仿制网站wordpress旋转音乐
  • 烟台专业网站建设公司网站安全体系建设方案
  • 域名如何做网站上海哪个区买房最好
  • 门户网站建设和检务公开整改外贸公司怎么找客户
  • 为网站设计手机版自己建的网站地址
  • 企业网站建设用标语网站如何在国外推广
  • 如何架设网站服务器邯郸市住房公积金管理中心
  • 网站已备案添加新域名电商平台网站有哪些