elasticsearch

master node

Master-eligible nodes和Master eligible节点 每个节点启动后,默认就是一个Master eligible节点,可以设置node.master:false禁止 Master-eligible节点可以参加选主流程,成为Master节点 当第一个节点启动时候,它会将自己选举成Master节点 每个节点都保存了集群的状态,只有Master节点才能修改集群的状态信息 集群状态(Cluster Starte),维护了一个集群中,必要的信息 所有的节点信息 所有的索引和其相关的Mapping与Setting信息 分片的路由信息 Data Node 可以保存数据的节点,叫做Data Node.负责保存分片数据.在数据扩展上起到至关重要的作用 Coordinating Node 负责接受Client的请求,将请求分发到合适的节点,最终把结果汇聚到一起 每个节点默认起到了Coordinating Node的职责

阅读全文

esm es节点迁移工具

es迁移工具 https://github.com/medcl/esm https://github.com/hoffoo/elasticsearch-dump

阅读全文

scroll

当一个搜索请求返回单页结果时,可以使用 scroll API 检索体积大量(甚至全部)结果,这和在传统数据库中使用游标的方式非常相似。

阅读全文

minimum_should_match

对于minimum_should_match设置值:

阅读全文

Multi_match

多字段检索,是组合查询的另一种形态,考试的时候如果考察多字段检索,并不一定必须使用multi_match,使用bool query

阅读全文

too_many_clauses

报错 too_many_clauses: maxClauseCount is set to 1024 报错原因是Search限制一个bool查询中最多只能有1024个值或子查询,当超过1024时,会抛出次异常。

阅读全文

too_many_clauses

too_many_clauses: maxClauseCount is set to 1024

报错原因是Search限制一个bool查询中最多只能有1024个值或子查询,当超过1024时,会抛出次异常。 解决方案:

阅读全文

delete_by_query

curl -X POST “localhost:9200/twitter/_delete_by_query” -H ‘Content-Type: application/json’ -d’ { “query”: { “match”: { “name”: “测试删除” } } } ‘ 查询必须是有效的键值对,query是键,这和Search API是同样的方式。在search api中q参数和上面效果是一样的。

阅读全文

apm

APM agent是一系列开源库,使用与服务器端相同的语言编写,目前支持node、python、ruby、js,java和golang。您可以像安装任何其他库一样将它们安装到服务器端中。apm agent会检测代码并在运行时收集性能数据和错误。此数据可 缓冲一小段时间并发送到APM服务器。

阅读全文

ClickHouse

随着日志量不断增加,一些问题逐渐暴露出来:

阅读全文

hits

ES即简单又复杂,你可以快速的实现全文检索,又需要了解复杂的REST API。本篇就通过一些简单的搜索命令,帮助你理解ES的相关应用。虽然不能让你理解ES的原理设计,但是可以帮助你理解ES,探寻更多的特性。

阅读全文

es

https://www.elastic.co/cn/downloads/elasticsearch $ cd bin $ ./elasticsearch https://zhuanlan.zhihu.com/p/74408145 Master-Slave模式,Master进行集群和元数据管理,Data Node作为Slave节点,负责实际数据的索引和搜索操作。

阅读全文

gc

因为线上ES没有开启GC日志,所以先用JVM工具从外围查看一下GC配置与大概情况。

阅读全文

fuzziness

基本的匹配(Query)查询 GET /bookdb_index/book/_search?q=guide #查询任一字段包含guide的记录。

阅读全文

filter must

must:结果会进行得分计算,进行得分计算。

阅读全文

most fields策略以及与best fields策略

best-fields策略,主要是说将某一个field匹配尽可能多的关键词的doc优先返回回来 most-fields策略,主要是说尽可能返回更多field匹配到某个关键词的doc,优先返回回来 POST /forum/_mapping/article { “properties”: { “sub_title”: { “type”: “string”, “analyzer”: “english”, “fields”: { “std”: { “type”: “string”, “analyzer”: “standard” } } } } }

POST /forum/article/_bulk { “update”: { “_id”: “1”} } { “doc” : {“sub_title” : “learning more courses”} } { “update”: { “_id”: “2”} } { “doc” : {“sub_title” : “learned a lot of course”} } { “update”: { “_id”: “3”} } { “doc” : {“sub_title” : “we have a lot of fun”} } { “update”: { “_id”: “4”} } { “doc” : {“sub_title” : “both of them are good”} } { “update”: { “_id”: “5”} } { “doc” : {“sub_title” : “haha, hello world”} }

GET /forum/article/_search { “query”: { “match”: { “sub_title”: “learning courses” } } }

{ “took”: 3, “timed_out”: false, “_shards”: { “total”: 5, “successful”: 5, “failed”: 0 }, “hits”: { “total”: 2, “max_score”: 1.219939, “hits”: [ { “_index”: “forum”, “_type”: “article”, “_id”: “2”, “_score”: 1.219939, “_source”: { “articleID”: “KDKE-B-9947-#kL5”, “userID”: 1, “hidden”: false, “postDate”: “2017-01-02”, “tag”: [ “java” ], “tag_cnt”: 1, “view_cnt”: 50, “title”: “this is java blog”, “content”: “i think java is the best programming language”, “sub_title”: “learned a lot of course” } }, { “_index”: “forum”, “_type”: “article”, “_id”: “1”, “_score”: 0.5063205, “_source”: { “articleID”: “XHDK-A-1293-#fJ3”, “userID”: 1, “hidden”: false, “postDate”: “2017-01-01”, “tag”: [ “java”, “hadoop” ], “tag_cnt”: 2, “view_cnt”: 30, “title”: “this is java and elasticsearch blog”, “content”: “i like to write best elasticsearch article”, “sub_title”: “learning more courses” } } ] } } sub_title用的是enligsh analyzer,还原了单词

阅读全文

es7和es6不兼容

https://www.elastic.co/guide/en/elasticsearch/reference/7.0/release-notes-7.0.0.html#breaking-7.0.0

阅读全文

match_phrase

es数据库text类型和keyword类型数据中match、match_phrase、query_string、term之间区别

阅读全文

id sort

4

阅读全文

doc_values

在es5.6版本的时候,使用聚合语句查询es的时候,会出现异常,关键信息如下: can’t load fielddata on because fielddata is unsupported on fields of type xxx, use doc value instead… 主要是因为,es 索引的mapping里面的doc_values属性的值设置的是false。 这个属性是干啥的呢?快速了解一下。 字段的 doc_values 属性有两个值, true、false。默认为 true ,即开启。 当 doc_values 为 fasle 时,无法基于该字段排序、聚合、在脚本中访问字段值。 当 doc_values 为 true 时,ES 会增加一个相应的正排索引,这增加的磁盘占用,也会导致索引数据速度慢一些。 Doc Values 默认对所有字段启用,除了 analyzed strings 可分词的字段外。也就是说所有的数字、地理坐标、日期、IP 和不可分词的(not_analyzed)字符类型都会默认开启。 为了加快排序、聚合操作,在建立倒排索引的时候,额外增加一个列式存储映射,是一个空间换时间的做法。默认是开启的,对于确定不需要聚合或者排序的字段可以关闭。 在ES保持文档,构建倒排索引的同时doc_values就被生成了, doc_values数据太大时, 它存储在电脑磁盘上. doc_values是列式存储结构, 它擅长做聚合和排序 对于非分词字段, doc_values默认值是true(开启的), 如果确定某字段不参与聚合和排序,可以把该字段的doc_values设为false 例如SessionID, 它是keyword类型, 对它聚合或排序毫无意义, 需要把doc_values设为false, 节约磁盘空间 分词字段不能用doc_values 通过设置 doc_values: false ,这个字段将不能被用于聚合、排序以及脚本操作 那,解决报错的方法就是修改这个索引的mapping,把这个属性=false的给删掉。或者给改成true https://blog.csdn.net/qq_27093465/article/details/114639346

阅读全文

allocation

ElasticSearch如何查找磁盘空间使用情况? 如果您不需要由/_cat/shards你可以用

阅读全文

Pinyin

这个分词器在1.8版本中,提供了两种分词规则:

阅读全文

Count

lastic search(简称es)中常用的search api,但有时候我们不需要满足条件的原始文档数据,而是需要返回符合条件的文档数,类似于mysql的select count(*)查询条数,es中进行count查询的api的endpoint为”_count”,

阅读全文

Stopword

https://www.ranks.nl/stopwords When not customized, the filter removes the following English stop words by default:

阅读全文

script

脚本语法是:

阅读全文

reindex

reindex数据复制,重索引 POST _reindex { “source”: { “index”: “twitter” }, “dest”: { “index”: “new_twitter” } } https://www.cnblogs.com/bigbigtree/p/6829625.html

阅读全文

Elasticsearch 分页查询

商品分页、订单分页等,在MySQL中我们可以使用limit,那么在Elasticsearch中我们可以使用什么呢?

阅读全文

es过滤空字符串

如果你正在使用默认的analyzer(standard),它没有什么可以分析它是否是一个空字符串。所以你需要逐字索引。 使用脚本过滤器,但速度较慢,但​​可以处理空字符串:

阅读全文

实现字段之间进行比对

ES中Date型字段不能直接用>,<,+,-进行比较和计算,会报错。 可以先把Date类型取得getMillis(),取得时间戳,然后就可以进行比较了。

阅读全文

Analyzer

Standard Analyzer 标准分析器是如果未指定所使用的默认的分析仪。它提供了基于语法标记化(基于Unicode文本分割算法 Configuration 标准分析器,接受以下的几个参数:

阅读全文

404

1.根据 ID 删除 可以根据文档 ID 删除对应的文档。

阅读全文

tokenlizer

Elasticsearch 的内置分析器都是全局可用的,不需要提前配置,它们也可以在字段映射中直接指定在某字段

阅读全文

term match

es中的查询请求有两种方式,一种是简易版的查询,另外一种是使用JSON完整的请求体,叫做结构化查询(DSL)。 由于DSL查询更为直观也更为简易,所以大都使用这种方式。 DSL查询是POST过去一个json,由于post的请求是json格式的,所以存在很多灵活性,也有很多形式。 match 查询匹配就会进行分词 match_phrase 要精确匹配所有同时包含 multi_match 希望两个字段进行匹配,其中一个字段有这个文档就满足的话,使用multi_match { “query”: { “multi_match”: { “query” : “我的宝马多少马力”, “fields” : [“title”, “content”] } } }

阅读全文

query_string

text字段和keyword字段的区别 说明text类型的字段会被分词,查询的时候如果用拆开查可以查询的到,但是要是直接全部查,就是查询不到。 所以将字段设置成keyword的时候查询的时候已有的值不会被分词。 注意“1, 2”会被拆分成[1, 2],但是”1,2”是不拆分的,少了个空格。

阅读全文

opt

第一部分:调优索引速度 (https://www.elastic.co/guide/en/elasticsearch/reference/current/tune-for-indexing-speed.html)

阅读全文

numeric

ES会默认将所有的输入内容当作字符串来理解,对于字段类型是keyword或者text的数据比较友好。但是如果输入的类型是数字,ES还会把数字当作字符串吗?排序问题还有范围查询问题怎么解决呢

阅读全文

match VS match_phrase

差别:

阅读全文

ik

ES-分词器(Analyzer) 把输入的文本块按照一定的策略进行分解,并建立倒排索引。在Lucene的架构中,这个过程由分析器(analyzer)完成。

阅读全文

fields

fields 处于不同的目的,通过不同的方法索引相同的字段通常非常有用。这也是多字段的目的。例如,一个字符串字段可以映射为text字段用于全文本搜索,也可以映射为keyword字段用于排序或聚合。

阅读全文

analyzer

mapping中对应的field可以设置analyzer和searchAnalyzer,如果不设置的话,会使用setting设置的default analyzer,如果setting中没指定的话就会使用es默认的standard分词器了。查询时具体可通过explain API来查看具体分词细节及查询细节。

阅读全文

Normalization

自定义文本分析 文本分析由分析器执行,分析器是一组控制整个过程的规则。Elasticsearch 包含一个默认分析器standard analyzer,适用于大多数开箱即用的用例。

阅读全文

_msearch批量搜索

#指定index // 查询 POST /my_test1/my_doc/_msearch {} {“query”:{“match_all”:{}}} {} {“query”:{“match”:{“name”:”张三”}}}

阅读全文

max_content_length

Given that the default http.max_content_length is set to 100MB, Elasticsearch will refuse to index any document that is larger than that. You might decide to increase that particular setting, but Lucene still has a limit of about 2GB. https://www.elastic.co/guide/en/elasticsearch/reference/current/general-recommendations.html

阅读全文

explain

Elasticsearch的默认打分公式是lucene的打分公式,主要分为两部分的计算,一部分是计算query部分的得分,另一部分是计算field部分的得分, score(q,d) =
queryNorm(q)
· coord(q,d)
· ∑ (
tf(t in d)
· idf(t)²
· t.getBoost() · norm(t,d)
) (t in q)
https://blog.csdn.net/molong1208/article/details/50623948

阅读全文

Sort

Elasticsearch针对普通数据、数组、嵌套对象、地理位置都提供了排序功能,为了测试其排序方式我们需要可以能够足够数据类型的索引。 使用元数据排序

阅读全文

oliver elasticsearch

github.com/olivere/elastic options := []elastic.ClientOptionFunc{ elastic.SetURL(“http://xxxxxxx:9200”), elastic.SetSniff(true), //是否开启集群嗅探 elastic.SetHealthcheckInterval(10 * time.Second), //设置两次运行状况检查之间的间隔, 默认60s elastic.SetGzip(false), //启用或禁用gzip压缩 elastic.SetErrorLog(log.New(os.Stderr, “ELASTIC “, log.LstdFlags)), //ERROR日志输出配置 elastic.SetInfoLog(log.New(os.Stdout, “”, log.LstdFlags)), //INFO级别日志输出配置 } options = append(options, elastic.SetBasicAuth( “xxxx”, //账号 “xxxxxxxxxxxxxx”, //密码 )) con, err := elastic.NewClient(options…) 1 创建索引 _, err = conf.ES().CreateIndex(indexName).BodyJson(mapping).Do(context.Background())

阅读全文

elasticsearch

github.com/olivere/elastic

阅读全文

Ingest-Attachment 对 word和PDF文档的全文搜索

https://github.com/elastic/elasticsearch/tree/master/plugins/ingest-attachment https://github.com/RD17/ambar https://github.com/dadoonet/fscrawler https://www.cnblogs.com/NextNight/p/6904791.html

阅读全文

DFS_QUERY_AND_FEATCH

es在查询时,可以指定搜索类型为QUERY_THEN_FETCH,QUERY_AND_FEATCH,DFS_QUERY_THEN_FEATCH和DFS_QUERY_AND_FEATCH。

阅读全文

roaring bitmap

https://www.elastic.co/cn/blog/frame-of-reference-and-roaring-bitmaps

阅读全文

prefix查询

prefix 查询是一个词级别的底层的查询,它不会在搜索之前分析查询字符串,它假定传入前缀就正是要查找的前缀。

阅读全文

time zone Elasticsearch时区问题

发现问题 创建索引,配置date类型字段 批量插入数据,格式分别为带时区信息,不带时区信息,时间戳 对数据进行聚合 对数据进行查询,分别使用带时区信息,不带时区信息,时间戳三种格式

阅读全文

tf idf

constant_score 查询 在 constant_score 查询中,它可以包含查询或过滤,为任意一个匹配的文档指定评分 1 ,忽略 TF/IDF 信息

阅读全文

refresh flush

Elasticsearch 存储的基本单元是shard, ES中一个Index 可能分为多个shard, 事实上每个shard 都是一个Lucence 的Index,并且每个Lucence Index 由多个Segment组成, 每个Segment事实上是一些倒排索引的集合, 每次创建一个新的Document, 都会归属于一个新的Segment, 而不会去修改原来的Segment; 且每次的文档删除操作,会仅仅标记Segment中该文档为删除 状态, 而不会真正的立马物理删除, 所以说ES的index 可以理解为一个抽象的概念。

阅读全文

match_phrase和term区别

term是将传入的文本原封不动地(不分词)拿去查询。 match会对输入进行分词处理后再去查询,部分命中的结果也会按照评分由高到低显示出来。 match_phrase是按短语查询,只有存在这个短语的文档才会被显示出来。

阅读全文

ik分词器安装

三种安装插件的方式:命令行、url、离线安装

阅读全文

高亮使用plian postings fvh差异

Elasticsearch、Solr中的高亮显示是均来源于lucene的高亮模块,luncene允许在一个或者多个字段上突出显示搜索内容,在中高亮方式上,lucene支持三种高亮显示方式highlighter, fast-vector-highlighter, postings-highlighter, 在Solr、ElasticSearch,highlighter 高亮是缺省配置高亮方式。 highlighter:

阅读全文

某个字段存在查询或不存在查询

存在查询

阅读全文

DSL查询语句对照

must 文档必须符合must中所有的条件,会影响相关性得分 数组 should 文档应该匹配should子句查询的一个或多个 数组 must_not 文档必须不符合must_not 中的所有条件 数组 filter 过滤器,文档必须匹配该过滤条件,跟must子句的唯一区别是,filter不影响查询的score ,会缓存 字典 https://elasticsearch.cn/article/13760

阅读全文

es删除字段

elasticsearch 删除mapping字段思路 mapping中字段不能直接删除,所以只能曲线救国

阅读全文

Scroll与Scan

什么是深度分页? 使用es的from和size语法来进行范围取值。 比如size=10&from=5000 ,这就是深度分页的用法。 为了拿到想要的 10个数据,es首先会扫描shard分片进行匹配并排序数据,之后算出5000个。这样就能拿到你想要那10个数据。 重复操作会很蛋疼,ElasticSearch的scroll便有了用武之地!

阅读全文

elasticsearch

查询阶段包含以下三步:

阅读全文

索引原理分析

Elasticsearch 是一个分布式可扩展的实时搜索和分析引擎,一个建立在全文搜索引擎 Apache Lucene(TM) 基础上的搜索引擎.当然 Elasticsearch 并不仅仅是 Lucene 那么简单,它不仅包括了全文搜索功能,还可以进行以下工作:

阅读全文

正排索引vs倒排索引

正排索引: 正排索引是指文档ID为key,表中记录每个关键词出现的次数,查找时扫描表中的每个文档中字的信息,直到找到所有包含查询关键字的文档。 正排是以 docid 作为索引的,但是在搜索的时候我们基本上都是用关键词来搜索。所以,试想一下,我们搜一个关键字(Tom),当100个网页的10个网页含有Tom这个关键字。但是由于是正排是doc id 作为索引的,所以我们不得不把100个网页都扫描一遍,然后找出其中含有Tom的10个网页。然后再进行rank,sort等。效率就比较低了。尤其当现在网络上的网页数已经远远超过亿这个数量后,这种方式现在并不适合作为搜索的依赖。 不过与之相比的是,正排这种模式容易维护。由于是采用doc 作为key来存储的,所以新增网页的时候,只要在末尾新增一个key,然后把词、词出现的频率和位置信息分析完成后就可以使用了。 所有正排的优点是:易维护;缺点是搜索的耗时太长; 倒排索引: 由于正排的耗时太长缺点,倒排就正好相反,是以word作为关键索引。表中关键字所对应的记录表项记录了出现这个字或词的所有文档,一个表项就是一个字表段,它记录该文档的ID和字符在该文档中出现的位置情况。 倒排包含两部分: 1、由不同的索引词(index term)组成的索引表,称为“词典”(lexicon)。其中包含了各种词汇,以及这些词汇的统计信息(如出现频率nDocs),这些统计信息可以直接用于各种排名算法。 2、由每个索引词出现过的文档集合,以及命中位置等信息构成。也称为“记录表”。就是正排索引产生的那张表。当然这部分可以没有。具体看自己的业务需求了。 倒排的优缺点和正排的优缺点整好相反。倒排在构建索引的时候较为耗时且维护成本较高,但是搜索耗时短。 我们借助单词——文档矩阵模型, 通过这个模型我们可以很方便知道某篇文档包含哪些关键词,某个关键词被哪些文档所包含。 单词-文档矩阵的具体数据结构可以是倒排索引、签名文件、后缀树等。 倒排索引源于实际应用中需要根据属性的值来查找记录,lucene是基于倒排索引实现的。 这种索引表中的每一项都包括一个属性值和具有该属性值的各记录的地址。 由于不是由记录来确定属性值,而是由属性值来确定记录的位置,因而称为倒排索引(inverted index)。 带有倒排索引的文件我们称为倒排索引文件,简称倒排文件(inverted file)。 倒排索引一般表示为一个关键词,然后是它的频度(出现的次数),位置(出现在哪一篇文章或网页中,及有关的日期,作者等信息),它相当于为互联网上几千亿页网页做了一个索引,好比一本书的目录、标签一般。读者想看哪一个主题相关的章节,直接根据目录即可找到相关的页面。不必再从书的第一页到最后一页,一页一页的查找。 倒排索引由两个部分组成:单词词典和倒排文件。

阅读全文

hive 和 elasticsearch 的整合

ElasticSearch已经可以与YARN、Hadoop、Hive、Pig、Spark、Flume等大数据技术框架整合起来使用,尤其是在添加数据的时候,可以使用分布式任务来添加索引数据,尤其是在数据平台上,很多数据存储在Hive中,使用Hive操作ElasticSearch中的数据,将极大的方便开发人员。

阅读全文

elasticsearch 文件的存储

在传统的数据库里面,对数据关系描述无外乎三种,一对一,一对多和多对多的关系,如果有关联关系的数据,通常我们在建表的时候会添加主外键来建立数据联系,然后在查询或者统计时候通过join来还原或者补全数据,最终得到我们需要的结果数据,那么转化到ElasticSearch里面,如何或者怎样来处理这些带有关系的数据。 ElasticSearch是一个NoSQL类型的数据库,本身是弱化了对关系的处理,因为像lucene,es,solr这样的全文检索框架对性能要求都是比较高的,一旦出现join这样的操作,性能会非常差,所以在使用搜索框架时,我们应该避免把搜索引擎当做关系型数据库用。

阅读全文

grok

logstash拥有丰富的filter插件,它们扩展了进入过滤器的原始数据,进行复杂的逻辑处理,甚至可以无中生有的添加新的 logstash 事件到后续的流程中去!Grok 是 Logstash 最重要的插件之一。也是迄今为止使蹩脚的、无结构的日志结构化和可查询的最好方式。Grok在解析 syslog logs、apache and other webserver logs、mysql logs等任意格式的文件上表现完美。 官网地址:https://www.elastic.co/guide/en/logstash/current/plugins-filters-grok.html#_getting_help_116

阅读全文

Logagent 日志组件对比

Logstash 也不是唯一的日志传输工具(log shipper)

阅读全文

test

Elasticsearch提供了一个jar文件,可以将其添加到任何Java IDE,并可用于测试与Elasticsearch相关的代码。 可以使用Elasticsearch提供的框架执行一系列测试 -

阅读全文

map 映射

映射是存储在索引中的文档的大纲。它定义数据类型,如geo_point或文档和规则中存在的字段的字符串和格式,以控制动态添加的字段的映射。 例如,

阅读全文

logstash输出到elasticsearch

output配置中elasticsearch配置 action index 给一个文档建立索引 delete 通过id值删除一个文档(这个action需要指定一个id值) create 插入一条文档信息,如果这条文档信息在索引中已经存在,那么本次插入工作失败 update 通过id值更新一个文档。更新有个特殊的案例upsert,如果被更新的文档还不存在,那么就会用到upsert 示例:

阅读全文

kibana

https://www.elastic.co/guide/en/kibana/current/tutorial-load-dataset.html 下载测试数据 Kibana Dev Tools > Console , set up a mapping for the Shakespeare data set: PUT /shakespeare { “mappings”: { “doc”: { “properties”: { “speaker”: {“type”: “keyword”}, “play_name”: {“type”: “keyword”}, “line_id”: {“type”: “integer”}, “speech_number”: {“type”: “integer”} } } } }

阅读全文

index

2.1 Node 与 Cluster Elastic 本质上是一个分布式数据库,允许多台服务器协同工作,每台服务器可以运行多个 Elastic 实例。

阅读全文

ik

https://github.com/medcl/elasticsearch-analysis-ik/releases 中文分词器下载 $elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.2.4/elasticsearch-analysis-ik-6.2.4.zip

阅读全文

head

head是一个用于管理Elasticsearch的web前端插件,该插件在es5版本以后采用独立服务的形式进行安装使用(之前的版本可以直接在es安装目录中直接安装),因为需要安装nodejs、npm 然后安装elasticsearch-head插件:

阅读全文

elasticsearch

插入一条数据 curl -XPUT ‘localhost:9200/shakespeare?pretty’ -H ‘Content-Type: application/json’ -d’ { “mappings”: { “doc”: { “properties”: { “speaker”: {“type”: “keyword”}, “play_name”: {“type”: “keyword”}, “line_id”: {“type”: “integer”}, “speech_number”: {“type”: “integer”} } } } } ‘ 插入文件 curl -H ‘Content-Type: application/x-ndjson’ -XPOST ‘localhost:9200/shakespeare/doc/_bulk?pretty’ –data-binary @shakespeare_6.0.json

阅读全文

dsl

ElasticSearch具有和端点(_bulk)用于用单个请求索引多个文档 _search端点 现在已经把一些电影信息放入了索引,可以通过搜索看看是否可找到它们。 为了使用ElasticSearch进行搜索,我们使用_search端点,可选择使用索引和类型。也就是说,按照以下模式向URL发出请求://_search。其中,index和type都是可选的。

阅读全文

config

Elasticsearch由多个模块组成,这些模块负责其功能。 这些模块有以下两种类型的设置 -

阅读全文

aggregations

框架集合由搜索查询选择的所有数据。框架中包含许多构建块,有助于构建复杂的数据描述或摘要。聚合的基本结构如下所示 -

阅读全文

_search

在Elasticsearch中,通过使用基于JSON的查询进行搜索。 查询由两个子句组成 -

阅读全文

Logstash_example

1,Elasticsearch slow-log input { file { path => [“/var/log/elasticsearch/private_test_index_search_slowlog.log”] start_position => “beginning” ignore_older => 0 # sincedb_path => “/dev/null” type => “elasticsearch_slow” }
}

阅读全文

Logstash_elk

Logstash是一个开源的服务器端数据处理管道,可以同时从多个源获取数据。面对海量的日志量,rsyslog和sed,awk等日志收集,处理工具已经显的力不从心。logstash是一个整合型的框架,可以用以日志的收集,存储,索引构建(一般这个功能被ES取代)。 logstash 的服务器端从redis/kafka/rabbitmq等(broker)消息队列获取数据。一条数据一条数据的清洗。清洗完成后发送给elasticsearch集群。再在kibana上显示。

阅读全文

Logstash

Logstash 是一个接收,处理,转发日志的工具。支持系统日志,webserver 日志,错误日志,应用日志,总之包括所有可以抛出来的日志类型。在一个典型的使用场景下(ELK):用 Elasticsearch 作为后台数据的存储,kibana用来前端的报表展示。Logstash 在其过程中担任搬运工的角色,它为数据存储,报表查询和日志解析创建了一个功能强大的管道链。Logstash 提供了多种多样的 input,filters,codecs 和 output 组件,让使用者轻松实现强大的功能。 安装完成后会生成两个主要目录和一个配置文件 程序主体目录:/opt/logstash log 分析配置文件目录:/etc/logstash/conf.d 程序运行配置文件:/etc/sysconfig/logstash

阅读全文

elk mac 安装

$brew install elasticsearch

阅读全文

logstash 日志收集

首先看下一般的log框架是如何输出日志的:

阅读全文

lucence elasticsearch

lucene,最先进、功能最强大的搜索库,直接基于lucene开发,非常复杂,api复杂(实现一些简单的功能,写大量的java代码),需要深入理解原理(各种索引结构) elasticsearch,基于lucene,隐藏复杂性,提供简单易用的restful api接口、java api接口(还有其他语言的api接口) (1)分布式的文档存储引擎 (2)分布式的搜索引擎和分析引擎 (3)分布式,支持PB级数据 开箱即用,优秀的默认参数,不需要任何额外设置,完全开源 Lucene概述

阅读全文

Search

Recent posts

This blog is maintained by 夏泽民

Get in touch with me at 465474307@qq.com

Subscribe to our mailing list

* indicates required