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

济南市高新技术官方网站开发区安康网站开发

济南市高新技术官方网站开发区,安康网站开发,专业微网站建设公司首选,微商城推广平台哪个好Elasticsearch 是一款开源的,ESTful风格的 分布式搜索、存储、分析引擎; 常见的使用场景 网站搜索,代码搜索等日志管理与分析,应用系统性能分析,安全指标监控等数据库同步,将数据库某个表的数据同步到elasticsearch上然后提供搜索服务 ES基本概念 文档 我们向elasticsearch存…

Elasticsearch 是一款开源的,ESTful风格的 分布式搜索、存储、分析引擎;

在这里插入图片描述

常见的使用场景
  1. 网站搜索,代码搜索等
  2. 日志管理与分析,应用系统性能分析,安全指标监控等
  3. 数据库同步,将数据库某个表的数据同步到elasticsearch上然后提供搜索服务
ES基本概念

文档
我们向elasticsearch存储的一条数据,就是一个文档,类似于mysql 数据表中的一条数据.
每个文档都有一个id,可以自己指定,也可以让elasticsearch生成.

元数据

"_index" : "user",
"_id" : "l0D6UmwBn8Enzbv1XLz0",
"_score" : 1.6943597,
"_source" : {"user" : "mj","sex" : "男","age" : "18"
}
  • _index:文档所属的索引名称.
  • _id:文档的唯一标识.
  • _version:文档的版本信息.
  • _score:文档的相关性打分.
  • _source:文档的原始JSON内容.

索引

一个索引包含多个文档,类似于mysql中的table,可以对文档元数据进行定义.

索引体现的是一种逻辑空间的概念,每个索引都应该有自己的Mapping定义,用于定义包含文档的字段名和字段类型,索引的数据分布在分片上

集群
一个elasticsearch集群由多个节点构成,它的分布式架构支持存储水平扩容,并且依靠副本可用性也很高。

在这里插入图片描述

节点

一个节点就是一个elasticsearch实例,即一个java进程。节点根据功能可以划分多种角色,比如主节点、数据节点、协调节点、ingest节点等。默认一个节点这些角色都承担。

分片(shard)

  • 主分片:用于解决数据的水平扩展问题,通过主分片就数据分布在集群内的不同节点上,主分片在创建索引的时候就指定了,后面就不允许修改,除非重新定义Index.

  • 副本:用于解决高可用的问题,分片是主分片的拷贝.副本分片数可以动态的调整,增加副本数量可以在一定的程度上提高服务的可用性.

"settings" : {"index" : {// 设置主分片数"number_of_shards" : "1","auto_expand_replicas" : "0-1","provided_name" : "kibana_sample_data_logs","creation_date" : "1564753951554",// 设置副本分片数"number_of_replicas" : "1","uuid" : "VVMLRyw6TZeSfUvvLNYXEw","version" : {"created" : "7010099"}}
}

倒排索引
Elasticsearch 使用一种称为 倒排索引 的结构,它适用于快速的全文搜索。一个倒排索引由文档中所有不重复词的列表构成,对于其中每个词,有一个包含它的文档列表。

借助官网的例子:假设我们有两个文档,每个文档的 content 域包含如下内容:

1. The quick brown fox jumped over the lazy dog
2. Quick brown foxes leap over lazy dogs in summer

为了创建倒排索引,我们首先将每个文档的 content 域拆分成单独的 词(我们称它为 词条 或 tokens ),创建一个包含所有不重复词条的排序列表,然后列出每个词条出现在哪个文档。结果如下所示:

Term      Doc_1  Doc_2
-------------------------
Quick   |       |  X
The     |   X   |
brown   |   X   |  X
dog     |   X   |
dogs    |       |  X
fox     |   X   |
foxes   |       |  X
in      |       |  X
jumped  |   X   |
lazy    |   X   |  X
leap    |       |  X
over    |   X   |  X
quick   |   X   |
summer  |       |  X
the     |   X   |
------------------------

分词器

分词是将文本转化为一系列单词的过程。转化为单词后就可以形成倒排索引 分词是由分词器实现的

  • Standard Analyzer:默认的分词器,按照词切分,并作大写转小写处理
  • Simple Analyzer:按照非字母切分(符号被过滤),并作大写转小写处理
  • Stop Anayzer:停用词(the、is)切分,并作大写转小写处理
  • Whitespace Anayzer:空格切分,不做大写转小写处理
  • IK:中文分词器,需要插件安装
  • ICU:国际化的分词器,需要插件安装
  • jieba:时下流行的一个中文分词器

Dynamic Mapping
Mapping可以简单的理解为数据库中的Schema定义,用于定义索引中的字段的名称,定义字段的类型,字段的倒排索引,指定字段使用何种分词器等.Dynamic Mapping意思就是在我们创建文档的时候,如果索引不存在,就会自动的创建索引,同时自动的创建Mapping,ElasticSearch会自动的帮我们推算出字段的类型,当然,也会存在推算不准确的时候,就需要我们手动的设置.常用的字段类型如下:

  • 简单类型:Text、Date、Integer、Boolean等
  • 复杂类型:对象类型和嵌套类型.

我们可以使用GET /shgx/_Mapping查询索引的Mapping的设置,需要注意的是以下几点:

  • 当我们对索引中的文档新增字段时候,希望可以更新索引的Mapping就可以可以设置Dynamic:true.
  • 对于已经有数据的字段,就不再允许修改其Mapping,因为Lucene生成的倒排索引后就不允许修改.

Dynamic Mapping可以设置三个值,分别是:

  • true:文档可被索引,新增字段也可被索引,Mapping也会被更新.
  • false:文档可被索引,新增字段不能被索引,Mapping不会被更新.
  • strict:新增字段写入,直接报错.
* index:可以设置改字段是否需要被索引到.设置为false就不会生成倒排索引,节省啦磁盘开销
* null_value:可以控制NULL是否可以被索引
* cope_to:将字段值放在一个新的字段中,可以使用新的字段search,但这个字段不会出现在_source中.
* anaylzer:指定字段的分词器
* search_anaylzer:指定索引使用的分词器
* index_options:控制倒排索引的生成结构,有四种情况
* docs:倒排索引只记录文档ID
* freqs:记录文档ID和Term
* positions:记录文档ID、Term和Term Position
* offsets:记录文档ID、Term、Term Position和offsets
* PS:Text类型的字段默认的是Position,其它类型默认的是docs,记录的越多,占用的存储空间就越大.
http://www.yayakq.cn/news/131880/

相关文章:

  • 合肥专业做网站的公司哪家好沈阳网站建设方案模板
  • 17网站一起做网店档口出租那个网站有免费的模板
  • 百度做网站优化多少钱一年室内设计培训班要多少钱
  • 做暖暖免费视频网站近几年的网络营销案例
  • 网站域名续费后SEO查询未更换Thinkphp网站开发实例
  • 怎么建国外网站杭州网站免费制作
  • 好的网站首页建设公司中建装饰集团
  • wordpress英文站更新通知目录怎样建设个自己的网站首页
  • 易语言编程软件做网站江西建设职业技术学院迎新网站
  • 网站建站怎么分前端和后端网页制作与网站建设宝典 pdf
  • 怎么做网站出肉狗时尚wordpress免费主题下载
  • 做同城网站有哪些什么是市场营销什么是网络营销
  • 网站打开速度加快怎么做网上购物平台排名前十名
  • 北京建设银行对公网站京东网页设计教程
  • 营销型网站建设优化合肥市住房和建设局网站
  • 营销型企业网站测评表wordpress登录后搜索
  • 网站的ftp帐号软件开发流程图用啥画
  • 单页营销式网站模板下载长治推广型网站建设
  • 鄂州免费设计网站建设网站上的html内容怎么修改
  • 平面设计培训网站广州冼村旧改最新消息
  • 东莞做外贸网站房产公司网站建设
  • 江苏盐城有做淘宝网站的吗哈尔滨网站建设云聚达
  • 培训网站建设方案模板苏州新闻今天最新消息新闻事件
  • 嘉兴网站搜索排名产品界面设计
  • 竹溪县网站集约化建设网站怎么做有创意
  • 漯河 做网站wordpress 做 cms
  • 做二维码签到的网站厦门在线制作网站
  • 做家务的男人免费观看网站微信开发小程序需要多少钱
  • 网站内容要求网站建设和优化的好处
  • 中山网站建设品牌免费网站建站软件