ElasticSsarch汇总

摘要:
analyzer是字段文本的分词器,search_analyzer是搜索词的分词器。每个shard都是一个luceneindex。replica:任何一个服务器随时可能故障或宕机,此时shard可能就会丢失,因此可以为每个shard创建多个replica副本。replica可以在shard故障时提供备用服务,保证数据不丢失,多个replica还可以提升搜索操作的吞吐量和性能。primaryshard,replicashard,默认每个索引10个shard,5个primaryshard,5个replicashard,最小的高可用配置,是2台服务器。倒排索引的底层实现是基于:FST数据结构。lucene从4+版本后开始大量使用的数据结构是FST。

用途:
分布式实时文件存储,并将每一个字段都编入索引,使其可以被搜索;
实时分析的分布式搜索引擎;
可以扩展到上百台服务器,处理PB级别的结构化或非结构化数据。

点击查看安装、基本增删改查操作RESTful API方式
ES需要 Java 8 环境
$ curl -X PUT 'localhost:9200/accounts' -d ' {““:””}

下图为user字段指定分词器。analyzer是字段文本的分词器,search_analyzer是搜索词的分词器。ik_max_word分词器是插件ik提供的,可以对文本进行最大数量的分词。
ElasticSsarch汇总第1张

使用 Match 查询,指定的匹配条件是desc字段里面包含"软件"这个词,从位置1开始(默认是从位置0开始),只返回一条结果
ElasticSsarch汇总第2张

如果要执行多个关键词的and搜索,必须使用布尔查询。
ElasticSsarch汇总第3张

cluster:集群
node:节点
index:索引
type:类型
document&field:文档。同一个 Index 里面的 Document,不要求有相同的结构(scheme),但是最好保持相同,这样有利于提高搜索效率。
shard:单台机器无法存储大量数据,es可以将一个索引中的数据切分为多个shard,分布在多台服务器上存储。有了shard就可以横向扩展,存储更多数据,让搜索和分析等操作分布到多台服务器上去执行,提升吞吐量和性能。每个shard都是一个lucene index。
replica:任何一个服务器随时可能故障或宕机,此时shard可能就会丢失,因此可以为每个shard创建多个replica副本。replica可以在shard故障时提供备用服务,保证数据不丢失,多个replica还可以提升搜索操作的吞吐量和性能。primary shard(建立索引时一次设置,不能修改,默认5个),replica shard(随时修改数量,默认1个),默认每个索引10个shard,5个primary shard,5个replica shard,最小的高可用配置,是2台服务器。

JAVA REST client方式

点击查看不同查询条件语法

点击查看索引原理分析

倒排索引:传统的检索是通过文章,逐个遍历找到对应关键词的位置。
而倒排索引,是通过分词策略,形成了词和文章的映射关系表,这种词典+映射表即为倒排索引。 有了倒排索引,就能实现 o(1)时间复杂度的效率检索文章了,极大的提高了检索效率。
倒排索引,相反于一篇文章包含了哪些词,它从词出发,记载了这个词在哪些文档中出现过,及在各文档出现的频次、位置,由两部分组成——词典和倒排表。
ElasticSsarch汇总第4张

倒排索引的底层实现是基于:FST(Finite State Transducer)数据结构。
lucene从4+版本后开始大量使用的数据结构是FST。FST有两个优点:
1)空间占用小。通过对词典中单词前缀和后缀的重复利用,压缩了存储空间;
2)查询速度快。O(len(str))的查询时间复杂度。

点击查看默认配置及修改
es根目录的config目录下面,有elasticsearch.yml和logging.yml
默认对外服务的http端口为9200,默认节点之间交互的tcp端口为9300

免责声明:文章转载自《ElasticSsarch汇总》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇yii2的csrf验证原理分析及token缓存解决方案kudu 监控下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

解决获得RepositoryItemRadioGroup选择索引问题

今天在做一个C#CS的项目,用到了DevExpress,对此不是很熟悉,故解决了问题之后记录下来 在ribbonPageGroup中添加了一个RepositoryItemRadioGroup,在变换选择时,触发事件: private void repositoryItemRadioGroup1_SelectedIndexChanged(objectsend...

利用Python进行数据分析-Pandas(第五部分-数据规整:聚合、合并和重塑)

  在许多应用中,数据可能分散在许多文件或数据库中,存储的形式也不利于分析。本部分关注可以聚合、合并、重塑数据的方法。 1、层次化索引   层次化索引(hierarchical indexing)是pandas的一项重要功能,它使你能在一个轴上拥有多个(两个以上)索引级别。抽象点说,它使你能以低纬度形式处理高纬度数据。我们来看一个简单的栗子:创建一个Ser...

SQL Serever学习16——索引,触发器,数据库维护

  sqlserver2014数据库应用技术 《清华大学出版社》  索引 这是一个很重要的概念,我们知道数据在计算机中其实是分页存储的,就像是单词存在字典中一样 数据库索引可以帮助我们快速定位数据在哪个存储页区,而不用扫描整个数据库 索引一旦被创建就会数据库自动管理和维护,增删改插座数据库都会对索引做修改 索引分类: 聚集索引 非聚集索引 包含性列索引...

Java电商支付系统手把手实现(二)

1 数据库设计 1.1 表关系梳理 仔细思考业务关系,得到如下表关系图 1.2 用户表结构 1.3 分类表结构 id=0为根节点,分类其实是树状结构 1.4 商品表结构 注意价格字段的类型为 decimal 1.5 支付信息表结构 1.6 订单表结构 乍一看,有必要搞这么多种的时间嘛?有以下诸多原因 前端显示需要,那就必须存着呀! 方便定位排...

Mysql中查询索引和创建索引

查询索引   show index from table_name 1.添加PRIMARY KEY(主键索引) ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) 2.添加UNIQUE(唯一索引) ALTER TABLE `table_name` ADD UNIQUE ( `column` ) 3.添...

Elasticsearch 建立ik中文分词器和自定义分词

一、建立ik中文分词器 1、下载ik中文分词器 进入https://github.com/medcl/elasticsearch-analysis-ik 使用第一种方式安装,进入https://github.com/medcl/elasticsearch-analysis-ik/releases 选择版本7.4.2 。和ES7.4.2的版本保持一致。...