elasticsearch
Lee_Suoer
这个作者很懒,什么都没留下…
展开
-
elasticsearch - 概念,基操
elasticsearch的核心概念: Near Realtime(NRT):近实时性,从写入数据到可以被搜索到会有一个小小的延迟 Cluster:集群,包含多个节点,每个节点属于哪个集群是通过配置节点的所属集群名称,默认是elasticsearch Node:节点,每个节点也有一个名称,默认系统分配的,默认也会加入一个名为elasticsearch的集群中。 Do...原创 2019-02-16 13:06:15 · 281 阅读 · 0 评论 -
elasticsearch centos集群
解压缩elasticsearch 包:最新es版本要求有JDK 8以上的版本bin:存放es的一些可执行脚本,比如用于启动进程的elasticsearch命令,以及用于安装插件的elasticsearch-plugin插件conf:用于存放es的配置文件,比如elasticsearch.ymldata:用于存放es的数据文件,就是每个索引的shard的数据文件logs:用于存放...原创 2019-04-03 22:42:42 · 183 阅读 · 0 评论 -
elasticsearch 集群命令操作
如果关闭了一个索引之后,那么这个索引是不会带来任何的性能开销了,只要保留这个索引的元数据即可,然后对这个索引的读写操作都不会成功。一个关闭的索引可以接着再打开,打开以后会进行shard recovery过程。比如说你在做一些运维操作的时候,现在你要对某一个索引做一些配置,运维操作,修改一些设置,关闭索引,不允许写入,成功以后再打开索引压缩索引:...原创 2019-04-12 14:21:28 · 1715 阅读 · 0 评论 -
elasticsearch 高级
term vector介绍:获取document中的某个field内的各个term的统计信息term statistics: 设置term_statistics=true; total term frequency, 一个term在所有document中出现的频率; document frequency,有多少document包含这个termfield statistics: docu...原创 2019-04-02 22:49:19 · 542 阅读 · 0 评论 -
elasticsearch Ik分词器
elasticsearch 配置ik分词器插件:将ik.zip复制到相应的文件夹下,解压。重启es两种analyzer,一般是选用ik_max_wordik_max_word: 会将文本做最细粒度的拆分ik_smart: 会做最粗粒度的拆分1、ik配置文件ik配置文件地址:es/plugins/ik/config目录IKAnalyzer.cf...原创 2019-03-28 22:33:10 · 180 阅读 · 0 评论 -
elasticsearch hdfs 备份数据
首先创建好hdfs 集群,再修改一下hdfs-site.xml ,添加<property> <name>dfs.permissions</name> <value>false</value></property>因为我的hdfs是用root用户操作的,elasticsearch 是用 es 用户操作的,...原创 2019-04-11 15:58:46 · 623 阅读 · 0 评论 -
elasticsearch 数据建模
一对多数据关系映射:也可以分开来存放:第一次搜索,会得到很多个中间结果,之后再进行处理,这个时候的性能就不怎么好了。但是这两种方式各自有优缺点:数据不冗余,维护方便,应用层join,如果关联数据过多,导致查询过大,性能很差 反之亦然。一般来说,对于es这种NoSQL类型的数据存储来讲,都是冗余模式....对于文件系统的构造:path_hierarch...原创 2019-04-01 22:41:50 · 278 阅读 · 0 评论 -
elasticsearch 集群配置
集群脑裂问题:discovery.zen.minimum_master_nodes参数对于集群的可靠性来说,是非常重要的。这个设置可以预防脑裂问题,也就是一个集群中存在两个master。如果因为网络的故障,导致一个集群被划分成了两片,每片都有多个node,以及一个master,那么集群中就出现了两个master了。但是因为master是集群中非常重要的一个角色,主宰了集群状态的维护,以及s...原创 2019-04-06 22:47:35 · 792 阅读 · 0 评论 -
elasticsearch 深度搜索
match和phrase match(proximity match)区别:match:只要简单的匹配到了一个term,就可以理解将term对应的doc作为结果返回,扫描倒排索引,扫描到了就okphrase match:首先扫描到所有term的doc list; 找到包含所有term的doc list; 然后对每个doc都计算每个term的position,是否符合指定的范围; slop...原创 2019-03-27 22:40:01 · 1000 阅读 · 0 评论 -
elasticsearch 集群搭建
es 不允许使用root用户启动,先创建es用户,配置好jdk1.8+,解压缩es安装包。对系统 /etc/security/limits.conf 文件进行修改设置对所有用户的文件描述符和线程处理数量* soft nofile 65536* hard nofile 65536* soft nproc 2048* hard nproc 4096针对es用户配置内存锁定,...原创 2019-04-10 14:23:03 · 247 阅读 · 0 评论 -
elasticsearch 聚合搜索(2)
在200ms以内的,有百分之多少,在1000毫秒以内的有百分之多少如果想要percentile算法越精准,compression可以设置的越大如果的确不需要doc value,比如聚合等操作,那么可以禁用,减少磁盘空间占用如果要对分词的field执行聚合操作,必须将fielddata设置为true打开fielddata,然后将正排索引数据加载到内存中,才可以对分词的fi...原创 2019-03-30 10:45:29 · 516 阅读 · 0 评论 -
elasticsearch 聚合搜索
bucket:一个数据分组metric,就是对一个bucket执行的某种聚合分析的操作,比如说求平均值,求最大值,求最小值先准备一些数据:统计哪种颜色的电视销量最高size:只获取聚合结果,而不要执行聚合的原始数据aggs:固定语法,要对一份数据执行分组聚合操作popular_colors:就是对每个aggs,都要起一个名字,这个名字是随机的,你随便取什么都okterm...原创 2019-03-29 22:53:37 · 1571 阅读 · 0 评论 -
elasticsearch 搜索
首先,elasticsearch支持随时添加 field。对于type=text,默认会设置两个field,一个是field本身,比如articleID,就是分词的;还有一个的话,就是field.keyword,articleID.keyword,默认不分词,会最多保留256个字符对于term filter/query:对搜索文本不分词,直接拿去倒排索引中匹配。否则会对搜索条件分词...原创 2019-03-10 11:48:50 · 491 阅读 · 0 评论 -
elasticsearch javaapi
crud:public class EScrud { public static void main(String[] args) throws Exception { Settings settings = Settings.builder().put("cluster.name", "elasticsearch").build(); ...原创 2019-03-03 11:14:36 · 275 阅读 · 0 评论 -
elasticsearch - 路由,mapping,分词
一个index会被分成多个shard,每个document只会存在一个shard上,由hash算法决定shard = hash(routing) % number_of_primary_shards通常这个routing就是document的id值。也可以自己指定。根据name字段路由。 这也就是es 的 primary shard 的数量不可变的原因。 增...原创 2019-02-17 22:22:41 · 516 阅读 · 0 评论 -
elasticsearch - 集群,原理
一般集群中会自动选出一个节点来作为master节点,它负责维护集群中的元数据信息,索引的创建和删除,节点的增加和移除一个index可能会被分成多个shard,primary shard的数量一旦确定就不会修改了,但是replica shard的数量会。primary shard不会和自己的replica shard存放在同一个机器上,但是可以和别的replica shard放在一起可...原创 2019-02-16 16:42:11 · 223 阅读 · 0 评论 -
elasticsearch - 分词,优化,别名替换
filter,仅仅只是按照搜索条件过滤出需要的数据而已,不计算任何相关度分数,对相关度没有任何影响,不需要按照相关度分数进行排序,同时还有内置的自动cache最常使用filter的数据query,会去计算每个document相对于搜索条件的相关度,并按照相关度进行排序,而且无法cache结果 使用validate来对语句进行验证 如果对一个string field进...原创 2019-02-21 22:25:25 · 968 阅读 · 0 评论 -
elasticsearch 底层模块
shard allocation1、shard allocation的介绍两种node:master node,data nodemaster node的一个很重要的功能,比如说,你现在创建了一个索引,然后这个索引是不是有很多的shard,可能你自己指定了几个primary shard,每个primary shard还有一些replica shard。master node,其实就是决...原创 2019-08-17 10:23:18 · 449 阅读 · 0 评论