ELK
席飞剑
10年+软件测试经验TIB自动化测试工作室核心成员ATF关键字驱动框架核心设计和开发人员熟悉软件自动化测试性能测试多年专职从事软件项目的自动化测试和性能测试对自动化测试的框架设计开发框架搭建以及实施有丰富的实战经验目前关注开源自动化测试领域基于Selenium构建Web自动化测试框架以及手机自动化测试的研究为多家企业进行自动化测试培训和指导
展开
-
Elasticsearch - 处理冲突
当你使用 索引 API来更新一个文档时,我们先看到了原始文档,然后修改它,最后一次性地将整个新文档进行再次索引处理。Elasticsearch会根据请求发出的顺序来选择出最新的一个文档进行保存。但是,如果在你修改文档的同时其他人也发出了指令,那么他们的修改将会丢失。 但是有些时候如果我们丢失了数据就会出大问题。想象一下,如果我们使用Elasticsearch来存储一个网店的商品数量。每当我们卖出一原创 2015-11-03 15:18:21 · 15660 阅读 · 1 评论 -
Elasticsearch - 自动检测及动态映射Dynamic Mapping
一、自动映射:ES通过查看定义某文档的json格式就能猜测到文档结构,我们称之为自动映射,在开发过程中需要注意这些特性。字段自动检测在某个字段第一次出现时,如果之前没有定义过映射,ES会自动检测它可能满足的类型,然后创建对应的映射。JSON数据ES中的数据类型null不会添加字段true or falsebooleanfloating point numberdoubleintegerlongob翻译 2016-04-07 23:34:34 · 35449 阅读 · 1 评论 -
Elasticsearch - 模式映射之核心类型
模式映射用于定义索引结构。在建立mapping映射时需要指定字段的类型,以下详细介绍mapping属性常见字段类型。每个字段类型可以指定为ElasticSearch中某个特定的核心类型。ElasticSearch的核心类型如下:1)字符串类型2)数值类型3)日期型4)布尔型5)二进制型首先介绍一下通用属性。index_name:该属性是存储在索引中的字段名称。如果未指定,则默认为字段定义的对象的名原创 2016-04-07 13:11:18 · 12391 阅读 · 0 评论 -
Elasticsearch - 自定义分析器
全文搜索引擎会用某种算法对要建索引的文档进行分析, 从文档中提取出若干Token(词元), 这些算法称为Tokenizer(分词器), 这些Token会被进一步处理, 比如转成小写等, 这些处理算法被称为Token Filter(词元处理器), 被处理后的结果被称为Term(词), 文档中包含了几个这样的Term被称为Frequency(词频)。 引擎会建立Term和原文档的Inverted In原创 2016-04-16 12:18:35 · 25458 阅读 · 0 评论 -
Elasticsearch - 短语匹配(match_phrase)以及slop参数
短语匹配(Phrase Matching)就像用于全文搜索的的match查询一样,当你希望寻找邻近的单词时,match_phrase查询可以帮你达到目的。GET /my_index/my_type/_search{ "query": { "match_phrase": { "title": "quick brown fox" }翻译 2016-04-15 13:27:50 · 48305 阅读 · 10 评论 -
Elasticsearch - edgeNGram自动补全
现代搜索离不开自动补全功能。正是有了该功能,用户可以方便地找到那些不知如何拼写的条目。看如下索引配置:{"settings": { "analysis": { "analyzer": { "standardWithEdgeNGram": { "tokenizer": "standard",原创 2016-04-16 14:10:24 · 14650 阅读 · 3 评论 -
Elasticsearch - 集群管理工具Head插件
elasticsearch-headelasticsearch-head是一个elasticsearch的集群管理工具,它是完全由html5编写的独立网页程序,你可以通过插件把它集成到es。或直接下载源码,在本地打开index.html运行它。该工具的git地址是: https://github.com/Aconex/elasticsearch-head 插件安装方法:1.elasticsearc原创 2015-11-03 16:44:58 · 12666 阅读 · 1 评论 -
Elasticsearch - 搜索类型与搜索位置
一、搜索类型:Elasticsearch允许用户选择其所希望的处理查询的方式。因为存在一些不同的情形,对其使用不同的搜索类型才是合适的。为了控制查询的执行方式,我们可以在请求中使用search_type参数,以有下类型可以选择。1、query_and_fetch:通常是最快也是最简单的搜索类型。查询语句在所有需检查的分片上并行执行,并且所有分片返回结果的规划为size参数的取值。因此,该类型返回的原创 2016-04-10 19:40:51 · 8833 阅读 · 0 评论 -
Elasticsearch - 理解字段分析过程(_analyze与_explain)
我们常常会遇到问题,为什么指定的文档没有被搜索到。很多情况下, 这都归因于映射的定义和分析例程配置存在问题。针对分析过程的调试,ElasticSearch提供了专用的REST API。_analyze, _explain是Elasticsearch提供的辅助API,经常不为人所知和所用。_explain 用来帮助分析文档的relevance score是如何计算出来的,而_analyze是Elas原创 2016-04-20 17:29:21 · 27970 阅读 · 0 评论 -
Logstash中配置默认索引映射(_default_属性)
ES中使用自动检测对索引字段进行索引,例如IP、日期自动检测(默认开启)、数字自动检测(默认关闭)进行动态映射自动为文档设定索引,当需要为字段指定特定的类型时,可能使用Mapping在索引生成定义映射,Logstash中默认索引的设置是基于模板的。首先我们需要指定一个默认的映射文件,文件的内容大致如下:{ "template" : "logstash-*", "mappings" : {原创 2016-03-08 00:34:03 · 26749 阅读 · 6 评论 -
Elasticsearch-4种内置分析器
新手需要特别注意ES中内置的分析器,否则查询结果很可能不是预期的,分析器它直接影响到Search与Index操作。Built-in AnalyzersHowever, Elasticsearch also ships with prepackaged analyzers that you can use directly. We list the most important ones next and, to demonstrate the difference in behavior, we show原创 2016-03-03 23:38:42 · 11966 阅读 · 2 评论 -
Elasticsearch - 搜索引擎入门
Elasticsearch是一个分布式可扩展的实时搜索和分析引擎。它能帮助你搜索、分析和浏览数据,而往往大家并没有在某个项目一开始就预料到需要这些功能。Elasticsearch之所以出现就是为了重新赋予硬盘中看似无用的原始数据新的活力。 Elasticsearch每一个独立的部分都不是新创的。比如全文搜索早就已经被实现,统计系统和分布式数据库也早已存在。但是革命之处在于能将这些独立的功能结合成一原创 2015-11-03 13:07:20 · 41289 阅读 · 4 评论 -
Elasticsearch - 搜索引擎Lucene
1.1. Scaling Lucene怎样在Lucene之上构建一个分布式、高度伸缩、接近实时的搜索引擎呢?让我们回顾一下在搜索引擎(基于lucene)伸缩性这条路上都做了那些尝试,并且elasticsearch是如何尝试并去解决这些挑战的。首先我们了解下最基础的理论知识 building blocks (这些理论基础是构建分布式近实时搜索引擎的基础)。 接着我们研究一下到底哪种才是最佳的分区策略翻译 2015-11-03 23:52:47 · 4912 阅读 · 0 评论 -
Elasticsearch-分词器对String的作用
关于String类型——分词与不分词在Elasticsearch中String是最基本的数据类型,如果不是数字或者标准格式的日期等这种很明显的类型,其他的一般都会优先默认存储成String。同样的数据类型,Elasticsearch也提供了多种存储与分词的模式,不同的模式应用于不同的场景。很多人在初次使用Elasticsearch时,都会很纳闷...为什么我存储的一句话,却查询不到?为什么我输入了转载 2016-03-03 23:05:26 · 5658 阅读 · 0 评论 -
全文检索-Apache Lucene初探
我们简单的讲解一下什么是全文检索。 比如,我们一个文件夹中,或者一个磁盘中有很多的文件,记事本、world、Excel、pdf,我们想根据其中的关键词搜索包含的文件。例如,我们输入Lucene,所有内容含有Lucene的文件就会被检查出来。这就是所谓的全文检索。 因此,很容易的我们想到,应该建立一个关键字与文件的相关映射,盗用ppt中的一张图,很明白的解释了这种映射如何实现。 在Lucene转载 2016-03-03 22:30:11 · 2201 阅读 · 0 评论 -
Elasticsearch DSL中Query与Filter的区别
Elasticsearch支持很多查询方式,除了通过9300(默认)端口通过TCP协议进行查询,另一种就是DSL,它是把请求写在JSON里面,然后进行相关查询。一个DSL例子GET _search{ "query": { "bool": { "must": [ { "match": { "name": "Jim" }}, { "match":原创 2016-03-07 23:13:21 · 15717 阅读 · 4 评论 -
logstash+elasticsearch+kibana搭建日志收集分析系统
日志监控和分析在保障业务稳定运行时,起到了很重要的作用,不过一般情况下日志都分散在各个生产服务器,且开发人员无法登陆生产服务器,这时候就需要一个集中式的日志收集装置,对日志中的关键字进行监控,触发异常时进行报警,并且开发人员能够查看相关日志。logstash+elasticsearch+kibana3就是实现这样功能的一套系统,并且功能更强大。logstash:是一个管理日志和事件的工具,你可以收原创 2016-03-09 22:08:33 · 11977 阅读 · 2 评论 -
Elasticsearch - 配置详解
1.1. 配置详解elasticsearch的config文件夹里面有两个配置文 件:elasticsearch.yml和logging.yml,第一个是es的基本配置文件,第二个是日志配置文件,es也是使用log4j来记录日 志的,所以logging.yml里的设置按普通log4j配置文件来设置就行了。下面主要讲解下elasticsearch.yml这个文件中可配置的 东西。cluster.na原创 2015-11-03 16:14:03 · 23702 阅读 · 3 评论 -
Elasticsearch - Java API(与集群交互)
1. Java API1.1. 与集群交互可以通过两种方式来连接到elasticsearch(简称es)集群,第一种是通过在你的程序中创建一个嵌入es节点(Node),使之成为es集群的一部分,然后通过这个节点来与es集群通信。第二种方式是用TransportClient这个接口和es集群通信。1.1.1. Node方式创建嵌入节点的方式如下: import static org.elast原创 2015-11-03 17:15:01 · 4407 阅读 · 0 评论 -
Elasticsearch - 核心概念
对于学习Elasticsearch,掌握以下基本概念非常重要,你可以试着将以下概念和mysql(库、表、数据行、字段)进行对位。基本概念Elasticsearch 有几个核心概念。从一开始理解这些概念会对整个学习过程有莫大的帮助。接近实时(NRT)Elasticsearch 是一个接近实时的搜索平台。这意味着,从索引一个文档直到这个文档能够被搜索到有一个轻微的延迟(通常是1原创 2015-11-02 15:30:44 · 5756 阅读 · 0 评论