随笔分类 - Elasticsearch
摘要:在ES中有很多使用不是很频繁的查询,可以达到一些特殊的效果。比如基于行为路径的漏斗模型。本篇就从使用上讲述一下正则表达式查询的用法。 Regexp Query regexp允许使用正则表达式进行term查询.注意regexp如果使用不正确,会给服务器带来很严重的性能压力。比如. 开头的查询,将会匹配
阅读全文
摘要:很多人刚刚接触ELK都不知道如何使用它们来做分析,经常会碰到下面的问题: 安装完ELK不知从哪下手 拿到数据样本不知道怎么分解数据 导入到elasticsearch中奇怪为什么搜不出来 搜到结果后,不知道它还能干什么 本篇就以一个完整的流程介绍下,数据从 的全流程处理。在阅读本篇之前,需要先安装EL
阅读全文
摘要:ELK升级后,安装稍微发生了点变化,在Elasticsearch中增加了很多资源上的限制,其他的倒是没什么变化。不过所有的安装都是基于JDK已经安装完的情况,且为1.8版本。 安装Elasticsearch 在官网下载elsaticsearch安装包: "下载地址" 下载对应版本拷贝到服务器,然后执
阅读全文
摘要:使用ES的基本都会使用过head,但是版本升级到5.0后,head插件就不好使了。下面就看看如何在5.0中启动Head插件吧! Head目前支持5.0了!请不要看本篇文章了 Head目前支持5.0了!请不要看本篇文章了 Head目前支持5.0了!请不要看本篇文章了 Head目前支持5.0了!请不要看
阅读全文
摘要:Elasticsearch在2.x版本的时候把filter查询给摘掉了,因此在query dsl里面已经找不到filter query了。其实es并没有完全抛弃filter query,而是它的设计与之前的query太重复了。因此直接给转移到了bool查询中。 Bool查询现在包括四种子句,must
阅读全文
摘要:安装head head插件可以用来快速查看elasticsearch中的数据概况以及非全量的数据,也支持控件化查询和rest请求,但是体验都不是很好。 一般就用它来看各个索引的数据量以及分片的状态。 直接访问下面的地址即可: "http://localhost:9200/_plugin/head/"
阅读全文
摘要:如果直接使用Elasticsearch的朋友在处理中文内容的搜索时,肯定会遇到很尴尬的问题——中文词语被分成了一个一个的汉字,当用Kibana作图的时候,按照term来分组,结果一个汉字被分成了一组。 这是因为使用了Elasticsearch中默认的标准分词器,这个分词器在处理中文的时候会把中文单词
阅读全文
摘要:先说说需求的背景,由于业务数据都在Oracle数据库中,想要对它进行数据的分析会非常非常慢,用传统的数据仓库 数据集市这种方式,集市层表会非常大,查询的时候如果再做一些group的操作,一个访问需要一分钟甚至更久才能响应。 为了解决这个问题,就想把业务库的数据迁移到Elasticsearch中,然后
阅读全文
摘要:Beats是elastic公司的一款轻量级数据采集产品,它包含了几个子产品: packetbeat(用于监控网络流量)、 filebeat(用于监听日志数据,可以替代logstash input file)、 topbeat(用于搜集进程的信息、负载、内存、磁盘等数据)、 winlogbeat(用于
阅读全文
摘要:使用Elasticsearch时,了解字段的概念,是必不可少的。毕竟无论是es还是传统的数据库,都无法弱化字段的类型。 背景知识 在Es中,字段的类型很关键: 在索引的时候,如果字段第一次出现,会自动识别某个类型,这种规则之前已经讲过了。 那么如果一个字段已经存在了,并且设置为某个类型。再来一条数据
阅读全文
摘要:在学习Elasticsearch的过程中,必不可少需要通过一些工具查看es的运行状态以及数据。如果都是通过rest请求,未免太过麻烦,而且也不够人性化。 此时,head可以完美的帮助你快速学习和使用es。 Head插件可以实现基本信息的查看,rest请求的模拟,数据的检索等等。 安装 在网络畅通的情
阅读全文
摘要:Elasticsearch通过使用JSON来作为沟通的数据格式,这对于开发者来说很友好,因为很多程序都支持JSON格式。比如js就不说了,Java也有fastjson,ruby什么的都自带json。 Elasticsearch中信息很多,如果单凭肉眼来寻找复杂数据之间的关系,是很困难的。因此cat命
阅读全文
摘要:Elasticsearch最常用的方法莫过于查询了。Es支持以URI请求参数或者请求体的方式进行查询。 查询范例 Elasticsearch支持对多索引以及多类型进行查询。 比如,下面对某个特定索引的所有类型执行查询,查询user为kimchy的所有类型的文档: 也可以指定某个特定的类型: 当然,对
阅读全文
摘要:前一篇已经翻译过termvectors的使用方法了,这对于学习如何使用tf idf来说是很有帮助的了。 更多内容参考 "我整理的ELK教程" 什么是TF IDF? 今天早晨起来,看《ES IN ACTION》的时候,遇到了这个术语,看英文实在不明白,于是百度了一下。看到了阮一峰的一篇关于它的文章,讲
阅读全文
摘要:这篇文章有点深度,可能需要一些Lucene或者全文检索的背景。由于我也很久没有看过Lucene了,有些地方理解的不对还请多多指正。 更多内容 "还请参考整理的ELK教程" 关于Term Vectors 额,对于这个专业词汇,暂且就叫做词条向量吧,因为实在想不出什么标准的翻译。说的土一点,也可以理解为
阅读全文
摘要:在使用Elasticsearch的时候,一定会遇到这种场景——希望批量的导入数据,而不是一条一条的手动导入。那么此时,就一定会需要bulk命令! 更多内容参考 "我整理的Elk教程" bulk批量导入 批量导入可以合并多个操作,比如index,delete,update,create等等。也可以帮助
阅读全文
摘要:之前说过了针对单一文档的增删改查,基本也算是达到了一个基本数据库的功能。本篇主要描述的是多文档的查询,通过这个查询语法,可以根据多个文档的查询条件,返回多个文档集合。 更多内容可以 "参考我整理的ELK文档教程" multi Get 多字段查询可以设置多个文档查询条件,每个查询条件在结构上都比较类似
阅读全文
摘要:更新操作,一般用这个的,应该不会很多吧!ES本身还是一个倾向于查询检索的框架,对于这种更新的操作,太过频繁总归是不好的。 不过阅读本篇后,你可以使用Script对所有的文档执行更新操作,也可以使用doc对部分文档执行更新,也可以使用upsert对不存在的文档执行添加操作。 更新 Update更新操作
阅读全文
摘要:删除文档也算是常用的操作了...如果把Elasticsearch当做一款普通的数据库,那么删除操作自然就很常用了。如果仅仅是全文检索,可能就不会太常用到删除。 Delete API 删除API,可以根据特定的ID删除文档。 会返回下面的消息: 版本 每个索引都通过版本来维护。当想要删除某个文档的时候
阅读全文
摘要:GET API是Elasticsearch中常用的操作,一般用于验证文档是否存在;或者执行CURD中的文档查询。与检索不同的是,GET查询是实时查询,可以实时查询到索引结果。而检索则是需要经过处理,一般默认是1秒钟吧...才能搜索到。合理利用这些方法,可以更灵活的使用Elasticsearch。 更
阅读全文