Elastic

Elastic Search 学习之路(一)

人盡茶涼 提交于 2020-02-11 17:38:21
一、基本概念及缘由 1.Sql vs nosql SQL:Structured Query Language Nosql:Not only SQL --------------------------------------------------------------------------- Relationship DB Relations:One-to-one relation、One-to-many、Many-to-many、Self-reference --------------------------------------------------------------------------- Mongo DB(humongous 大量的)、Redis .ect (内存型数据库) Structure:Database Collencitons Documents 2.为何使用搜索引擎 项目中的搜索功能,如果数据量较小,那么可以直接使用mysql进行搜索;当数据量到达一定规模后,比如十亿、百亿,这时传统的关系型数据库就已经达到性能瓶颈,不适合这个项目,此时可以使用搜索引擎ElasticSearch。可能你会问,为什么不用内存型数据库。虽然内存型数据库读写性能很高,但是将庞大的数据量全都装进内存中不太现实。比如,使用PB级别的数据,每个内存节点96G的话

云计算平台(检索篇)-Elasticsearch-Linux优化篇

风格不统一 提交于 2020-01-28 18:43:19
Elasticsearch在Linux系统环境中运行,需要对Linux系统进行一系列调优,这样可以提高ElasticSearch的检索效率。主要的需要调优的参数如下: 1. Linux 调整文件数 /etc/security/limits.conf 在文件中增加 * soft nofile 8192 * hard nofile 20480 * - memlock unlimited 在登陆中添加下面命令行 /etc/pam.d/login session required /lib64/security/pam_limits.so ( 在不同系统中文件位置不同) 2. 关闭文件的更新时间 /etc/fstab 在文件中添加一行 /dev/sda7 /data/elasticsearch ext4 noatime,nodiratime 0 0 (此处的/dev/sda7 可以通过df –h查看目录所在分区) 3. 修改防火墙设置 为方便调适暂时关闭 /etc/init.d/iptables stop 来源: https://www.cnblogs.com/MrHiFiy/archive/2012/12/06/2804335.html

elastic job原理解析-JobSchedule

ε祈祈猫儿з 提交于 2020-01-24 03:33:25
jobSchedule schedulerFacade = new SchedulerFacade(regCenter, liteJobConfig.getJobName(), elasticJobListenerList); 作业信息持久化 调用serverService的persistOnline(enabled)方法,只有在job存在的情况下才会将job持久化到zk上。【enabled改作业是否启用】 public void persistOnline(final boolean enabled) { if (!JobRegistry.getInstance().isShutdown(jobName)) { jobNodeStorage.fillJobNode(serverNode.getServerNode(JobRegistry.getInstance().getJobInstance(jobName).getIp()), enabled ? "" : ServerStatus.DISABLED.name()); } } 持久化作业运行实例信息 调用instanceService的persistOnline()方法。将job加入zk的临时节点中 public void persistOnline() { jobNodeStorage

Elastic Search之布尔查询

非 Y 不嫁゛ 提交于 2020-01-17 23:43:58
前言 布尔查询是最常见的组合查询,根据子查询的规则,只有当文档满足所有子查询条件时,Elastic Search 引擎才会将结果返回。布尔查询支持的子查询条件共4种: must(and) should(or) must_not(not) filter 准备数据 PUT zhifou/doc/1 { "name":"顾老二", "age":30, "from":"gu", "desc":"皮肤黑、武器长、性格直", "tags":["黑","长","直"] } PUT zhifou/doc/2 { "name":"大娘子", "age":18, "from":"sheng", "desc":"貌美肤白、娇憨可爱", "tags":["白","富","美"] } PUT zhifou/doc/3 { "name":"龙套偏房", "age":22, "from":"gu", "desc":"mmp,没怎么看清,不知道怎么形容", "tags":["造数据","真","难"] } PUT zhifou/doc/4 { "name":"石头", "age":29, "from":"gu", "desc":"粗中有细、狐假虎威", "tags":["粗","大","猛"] } PUT zhifou/doc/5 { "name":"魏行者", "age":25, "from":"广云台",

[elastic][ES]#0_ES部署

你离开我真会死。 提交于 2020-01-17 00:11:16
Running ES in docker docker pull docker.elastic.co/elasticsearch/elasticsearch:7.5.1 docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.5.1 Running Kibana in docker docker pull docker.elastic.co/kibana/kibana:7.5.1 docker run --link YOUR_ELASTICSEARCH_CONTAINER_NAME_OR_ID:elasticsearch -p 5601:5601 {docker-repo}:{version} 来源: CSDN 作者: PeppaKing 链接: https://blog.csdn.net/qq_30782921/article/details/104010417

Elastic Stack-Elasticsearch使用介绍(二)

戏子无情 提交于 2020-01-12 08:45:04
一、前言 写博客,更要努力写博客! 二、Mapping介绍 Mapping类似于数据库中的表结构的定义:这里我们试想一下表结构定义需要那些: 1.字段和字段类型,在Elasticsearch中的体现就是索引的结构,定义索引的字段Field Name和字段类型,上一篇有简单介绍一下字段有那些类型; 2.索引,在数据库中我们可以定义字段索引,在Elasticsearch中就是相当于是否分词,按照分词器分词; 先来用我们的神器先自定义一个Mapping: 接下来在在查询下Mapping的结构: 三 、Mapping常用参数介绍 type:指定参数的类型; analyzer:指定分词器; boost:指定字段的权重, copy_to:指定某几个字段合并; dynamic:字段动态添加 ,有3种取值: true:无限制; false:数据可写入但该字段不保留; strict:无法写入抛异常; format:"yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis" ,格式化 此参数代表可接受的时间格式 3种都接受; ignore_options:这个选项用于控制倒排索引记录的内容,有4种配置: docs:只记录文档号; freqs:文档号 + 词频; postions:文档号 + 词频 + 位置; offsets:文档号 + 词频 + 位置 + 偏移量;

Sparkstreaming 消费Kafka写入Elasticsearch

别说谁变了你拦得住时间么 提交于 2020-01-10 21:18:34
1. 版本说明 jdk 1.8 spark 2.3 elasticsearch 7.4 scala 2.11 Kafka 0.10 2. pom 依赖 <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka_2.11</artifactId> <version>1.0.0</version> </dependency> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-core_${scala.version}</artifactId> <version>${spark.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-streaming_${scala.version}</artifactId> <version>${spark.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.spark<

分布式定时调度

瘦欲@ 提交于 2020-01-10 01:15:01
分布式定时任务调度系统技术选型–转 Elastic Job 《分布式任务调度平台XXL-JOB》 玩转SpringBoot之定时任务详解 关于异步任务,多线程@EnableAsync@Async saturn 来源: CSDN 作者: Hanyinh 链接: https://blog.csdn.net/weixin_43871678/article/details/103910658

Elastic 招聘开发者关系(技术布道师)

心已入冬 提交于 2020-01-07 05:06:26
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 点此投递简历 在Elastic,我们有一个简单的目标:通过创新和鼓舞的产品为全世界解决数据问题。 作为Elasticsearch、Kibana、Logstash和Beats这些知名开源项目背后的公司,我们帮助世界各地的人善用他们的数据。从股票报价到推特、Apache日志到WordPress博客,我们的产品正在不断扩展数据的可能性,并向世人宣告积少成多的意义。我们聚集的Elastic员工横跨超过30个国家、18个时区以及30多种不同的语言,而我们更加广泛的社区则跨越了超过100个国家。 对Elastic的全体员工来说,社区是最重要的一环。我们的用户和贡献者在社区中提供了大量的支持和帮助,使得Elasticsearch、Kibana、Logstash和Beats变得更加丰富——它们是人们所热爱使用和讨论的开源项目!作为我们的开发者关系工程师,您将成为Elastic社区坚实的后盾。 您将要做什么: 您是否渴望向世界分享全新的技术?您是否热爱与社区成员进行各种联系,无论是面对面、博客、论坛,- 还是其他社交渠道和活动?您是否热爱在当地聚会中进行演讲,阐述您对Elastic Stack的热忱? 那么,这可能正巧是您的理想职业。 您将主要在中国工作。每当清晨醒来的时候,您都会渴望在客户会议、聚会

Reactor深度探索

时光毁灭记忆、已成空白 提交于 2020-01-07 03:51:39
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 技术点 反应器模式(Reactor) 同步非阻塞,每个事情可以分为几个步骤,每个步骤可以相应去做,每个步骤是不会相互影响的,但是做起来是串行的。有关Netty的具体实现,可以参考 Netty整理 Proactor模式 异步非阻塞,每个事情同时做,或者说是异步的去做, 观察者模式(Observer) JDK的实现可以参考 使用JDK的观察者接口进行消息推送 观察者模式是一个推的模式 迭代器模式(Iterator) 是一种拉的模式,数据准备好后,进行一个循环拉取。 Java并发模型 Reactive Reactive是一种编程方式,由不同的方式来实现 RxJava : Reactive Extensions Reactor : Spring WebFlux Reactive类库 Flow API : Java 9 Flow API实现 阻塞的弊端和并行的复杂 在Reactor官方的网站上,指出了现有编程的一些不足 https://projectreactor.io/docs/core/release/reference/index.html#_blocking_can_be_wasteful Reactor认为阻塞可能是浪费的 归纳 阻塞导致性能瓶颈和浪费资源 增加线程可能会引起资源竞争和并发问题(可见性问题