ElasticSearch
文章平均质量分 83
千丈之松
开放、平等、协作、分享;
现代互联网精神。
展开
-
Elasticsearch 分布式安装
Elasticsearch是一个全文搜索引擎。安装Elasticsearch时需要先安装Javajdk。一共3台机器:wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.4.2.zipunzip elasticsearch-1.4.2.zipcd elasticsearch-1.4.2/bin/elasticsearch //前台运行/bin/elasticsearch -d /原创 2015-09-10 13:15:08 · 1136 阅读 · 0 评论 -
从分布式系统设计看Elasticsearch集群及数据结构
一: 概述es本质上就是由分布式思想+lucene组合而成,因为lucene的存在,它比一般的分布式系统会稍微复杂一点,es采取的分布式思想是分片+副本+去中心化。es持久化的方式是:副本索引文件+translog文件,es默认配置下,为了比较好的速度,选择了性能,是可能丢数据的(5s)。redis aof是1s。和redis一样,在性能和可靠性中选择,如果选择直接写入磁盘,es写性能会损...原创 2018-08-04 10:02:55 · 1831 阅读 · 0 评论 -
从Elasticsearch集群及数据层架构,看分布式系统设计
分布式系统类型多,涉及面非常广,不同类型的系统有不同的特点,批量计算和实时计算就差别非常大。这篇文章中,重点会讨论下分布式数据系统的设计,比如分布式存储系统,分布式搜索系统,分布式分析系统等。我们先来简单看下Elasticsearch的架构。一、Elasticsearch集群架构Elasticsearch是一个非常著名的开源搜索和分析系统,目前被广泛应用于互联网多种领域中,尤其是以下三个领域特别突...原创 2018-03-02 19:05:59 · 462 阅读 · 1 评论 -
elasticsearch ik配置动态同义词
使用环境elasticsearch5.1.1kibana5.1.1同义词插件5.1.1安装插件下载对应的elasticsearch-analysis-dynamic-synonym-5.1.1.zip, 解压到本地的elasticsearch/plugins目录下, 重新启动es第一种方式本地文件说明:对于本地文件:主要通过文件的修改时间戳(Modify time)来判断是否要重新加载在elast...原创 2018-03-01 18:00:25 · 5268 阅读 · 1 评论 -
elasticsearch总结
Elasticsearch是如何实现Master选举的?Elasticsearch的选主是ZenDiscovery模块负责的,主要包含Ping(节点之间通过这个RPC来发现彼此)和Unicast(单播模块包含一个主机列表以控制哪些节点需要ping通)这两部分;对所有可以成为master的节点(node.master: true)根据nodeId字典排序,每次选举每个节点都把自己所知道节点排原创 2018-01-12 08:48:41 · 309 阅读 · 0 评论 -
基于ES的搜索+筛选+排序解决方案
本文档适用人员:研发和运维提纲:曾经的基于MongoDB的筛选+排序解决方案MongoDB方案的缺陷看中了搜索引擎的facet特性看中了ES的简洁看中了ES的天生分布式设计窝窝的ES方案ES的几次事故和教训ES自身存在的问题 首先要感谢王超和胡耀华两位研发经理以严谨治学的研究精神和孜孜以求的工作态度给我们提供了高可用、可伸缩、高性能的ES方转载 2015-08-17 18:18:40 · 13864 阅读 · 0 评论 -
ElasticSearch跨域查询(多词搜索)
elasticsearch 的multi_match查询和match一样,不同的是它不是针对单个字段,而是可以通过fields参数针对多个字段查询。当然match查询中可以使用的所有参数同样可以在multi_match查询中使用。 multi_match支持3种查询类型,best_fields、most_fields、cross_fields。使用类型为cross_fields的multi_match查询。cross_fields类型采用了一种以词条为中心(Term-centric)的方法,这种方法和原创 2016-07-27 15:32:02 · 3077 阅读 · 0 评论 -
elasticsearch控制match执行过程的低级查询处理规则
match查询的多词查询只是简单地将生成的term查询包含在了一个bool查询中。通过默认的or操作符,每个term查询都以一个语句被添加,所以至少一个should语句需要被匹配。bool 查询默认会对所有 should 语句使用协调功能,当我们使用 bool 查询将多个高级查询如 match 查询包裹的时候,让协调功能打开是有意义的,匹配的语句越多,查询请求与返回文档间的重叠度就越高。 但在某些高级应用中,我们将协调功能关闭可能更好。假如我们正在查找同义词 “衣服”,“服装”,“服饰”。我们并不关原创 2017-02-21 16:36:06 · 2614 阅读 · 0 评论 -
elasticsearch 分词过程
我们常常会遇到问题,为什么指定的文档没有被搜索到。很多情况下, 这都归因于映射的定义和分析例程配置存在问题。一:分词流程整个流程大概是:单词 ====》Character Filter 预处理 =====》tokenizer分词 ====》 token filter对分词进行再处理。单词或文档先经过Character Filters;Char原创 2017-03-31 11:18:57 · 4763 阅读 · 0 评论 -
影响elasticsearch性能因素总结
一:硬件方面在预算充足的情况下。特别是一些高并发业务的搜索。硬件层面占用整个elasticsearch性能空间很大比例。1)内存:单实例的情况下,尽量分配32G2)硬盘:在条件允许下,尽量使用一些高性能io的硬盘,SSD3)CPU:在高并发的情况下,cpu的计算能力要求就很高了。cpu配置尽量高。4)网络:当然这个越大越好。。毕竟服务交互通过http 。原创 2016-05-12 11:13:18 · 16098 阅读 · 1 评论 -
kibana查询语法
单项term查询例: 搜 Dahlen, Malone字段field查询field:value 例:city:Keyport, age:26通配符? 匹配单个字符 例: H?bbs* 匹配0到多个字符 例: H*注意: ? * 不能用作第一个字符,例如: ?text *text范围查询age:[20 TO原创 2016-04-27 08:44:54 · 52193 阅读 · 0 评论 -
Logstash+ElasticSearch+Kibana日志分析系统
线上需求:处理nginx的访问access日志和商城的搜索历史记录。(由于访问量不大、没有用到redis或者其他消息队列)。之前做的一个版本使用solrcloud做电商搜索引擎、elasticsearch做实时日志系统。参考文档资料:http://elasticsearch.cn/ medcl的中文社区http://kibana.logstash.es/原创 2016-01-12 12:52:05 · 1776 阅读 · 0 评论 -
用ELK 实时处理搜索日志
本来这块业务 是放到SolrCloud上去的 , 然后 采用solr的facet统计查询,具体代码参考之前写的文章:http://blog.csdn.net/hu948162999/article/details/50162643 最近遇到SolrCloud 遇到一些问题。。查询db时间过长,SolrCloud的长连接CloudSolrServer老timeout,索引的效率也不够满原创 2016-01-27 17:53:38 · 6461 阅读 · 0 评论 -
分布式搜索elasticsearch配置文件详解
配置文件位于%ES_HOME%/config/elasticsearch.yml文件中,用Editplus打开它,你便可以进行配置。 所有的配置都可以使用环境变量,例如:node.rack: ${RACK_ENV_VAR} 表示环境变量中有一个RACK_ENV_VAR变量。 下面列举一下elasticsearch的可配置项:转载 2016-01-07 12:11:18 · 539 阅读 · 0 评论 -
使用elasticsearch遇到的一些问题以及解决方法
1.由gc引起节点脱离集群因为gc时会使jvm停止工作,如果某个节点gc时间过长,master ping3次(zen discovery默认ping失败重试3次)不通后就会把该节点剔除出集群,从而导致索引进行重新分配。解决方法:(1)优化gc,减少gc时间。(2)调大zen discovery的重试次数(es参数:ping_retries)和超时时间(es参数:ping_t转载 2016-01-22 17:40:08 · 18235 阅读 · 0 评论 -
分布式搜索elasticsearch 索引文档的增删改查(RESTful)
1、RESTful接口使用方法为了方便直观我们使用Head插件提供的接口进行演示,实际上内部调用的RESTful接口。RESTful接口URL的格式:http://localhost:9200///[]其中index、type是必须提供的。id是可选的,不提供es会自动生成。index、type将信息进行分层,利于管理。i转载 2015-11-03 15:41:22 · 1630 阅读 · 0 评论 -
技术交流,扫描关注技术公众号!
精选各领域互联网技术, 推送前后端、算法、人工智能领域优质技术文章!! 本公众号由阿里、网易、美团等团队组成精选各领域互联网技术, 推送前后端、算法、人工智能领域优质技术文章!! 本公众号由阿里、网易、美团等团队组成。...原创 2018-11-20 20:40:13 · 388 阅读 · 0 评论