(30)...elasticsearch
IT云清
技术专家,团队主管,Apache Seata Committer,公众号:java4all
展开
-
es数据库match和term的区别
es种有两种查询模式,一种是像传递URL参数一样去传递查询语句,被称为简单搜索或查询字符串(query string)搜索,比如GET /megacorp/employee/_search //查询全部员工 GET /megacorp/employee/_search?q=last_name:Smith //查询last_name为Smith的员工 另外一种是通过DSL语句来进行查询,被称...转载 2018-05-09 19:00:05 · 5199 阅读 · 1 评论 -
9.Elasticsearch查询与过滤
本文目录:过滤情况(filtering context)查询情况(query context)性能差异如何选择查询与过滤编辑Elasticsearch 使用的查询语言(DSL) 拥有一套查询组件,这些组件可以以无限组合的方式进行搭配。这套组件可以在以下两种情况下使用: - 过滤情况(filtering context) - 查询情况(query context)过滤情...转载 2018-05-24 17:56:41 · 1034 阅读 · 0 评论 -
Result window is too large, from + size must be less than or equal to: [10000] but was [10025
使用elasticsearch做分页查询时,当查询记录超过10000时,会报如下错误:Result window is too large, from + size must be less than or equal to: [10000] but was [10025].See the scroll api for a more efficient way to request larg...原创 2018-05-29 20:26:15 · 19618 阅读 · 4 评论 -
14.Elasticsearch索引设置
本文讲解Elasticsearch中的索引级别相关的设置方法:(本文为官方文档翻译:点击进入原文) 在前一篇的分页查询中,很多人在分页页码过大时会遇到一个错误:Result window is too large, from + size must be less than or equal to: [10000] but was [10025].,解决方案请参考:点击进入1.Updat...原创 2018-05-29 20:33:22 · 1324 阅读 · 0 评论 -
Elasticsearch常见问题汇总
以下为使用Elasticsearch过程中遇到的一些问题整理:“reason”:”object mapping for [] tried to parse field [] as object, but found a concrete value”413 Request Entity Too LargeResult window is too large, from + size m...原创 2018-05-29 20:52:07 · 3118 阅读 · 1 评论 -
15.Elasticsearch更新文档1---全文更新---restAPI
在 Elasticsearch 中文档是 不可改变 的,不能修改它们。 相反,如果想要更新现有的文档,需要 重建索引 或者进行替换, 我们可以使用相同的 index API 进行实现。1.新增一个文档PUT /policy_document/policy_document/333{ "level":"国家",原创 2018-05-29 21:12:12 · 1028 阅读 · 0 评论 -
16.Elasticsearch更新文档2---局部更新1---脚本更新1
脚本更新,可以对文档进行局部更新,脚本可以在 update API中用来改变 _source 的字段内容, 它在更新脚本中称为 ctx._source 。我们这里尝试用脚本来对_source中的内容来进行更新。1.查询出一个文档GET /policy_document/policy_document/222{ "_index": "policy_document", ...原创 2018-05-30 21:03:13 · 800 阅读 · 0 评论 -
17.Elasticsearch更新文档3---局部更新2---脚本更新2
本文讲解一下用脚本如何去修改一个数组的值。我们给此文档新增一个可以有多个值的属性,然后进行脚本操作4.新增字段POST /policy_document/policy_document/222/_update{ "doc": { "tags":["重要"] }}或者用脚本新增POST policy_原创 2018-05-31 14:56:50 · 2042 阅读 · 0 评论 -
18.Elasticsearch更新文档4---局部更新3---restAPI
在 更新整个文档 , 我们已经介绍过 更新一个文档的方法是检索并修改它,然后重新索引整个文档;然而,使用 update API 我们还可以部分更新文档,例如在某个请求时对计数器进行累加(比如博客的被访问次数)。前面介绍过文档是不可变的:他们不能被修改,只能被替换。 update API 必须遵循同样的规则。 从外部来看,我们在一个文档的某个位置进行部分更新。然而在内部, update API ...原创 2018-05-31 15:58:47 · 1492 阅读 · 0 评论 -
19.Elasticsearch更新文档5---局部更新4---官方文档翻译
由于网上没有找到5.5版本的资料,很多资料都是2.x版本的,更新时语法差异较大,所以我这里翻译一下官方文档的这一部分内容。翻译时,示例代码均替换为我实践中的真实代码,这样确保了本文档的准确性。 - 本文版本:5.5 - 官方文档原文路径:Elasticsearch Reference [5.5] » Document APIs » Update API - 官方文档原文地址:点击跳转以下...原创 2018-05-31 16:11:41 · 2154 阅读 · 0 评论 -
20.Elasticsearch倒排索引原理
本文讲解Elasticsearch中倒排索引的原理。Elasticsearch 使用一种称为倒排索引的结构,它适用于快速的全文搜索。一个倒排索引由文档中所有不重复词的列表构成,对于其中每个词,有一个包含它的文档列表。假设有两个文档,每个文档的 content 域包含如下内容:The quick brown fox jumped over the lazy dogQuick b...原创 2018-05-31 19:09:55 · 1008 阅读 · 0 评论 -
21.Elasticsearch分析与分析器
本文讲解Elasticsearch对文本的分析及内置的分析器。1.分析分析 包含下面的过程:首先,将一块文本分成适合于倒排索引的独立的 词条 , 之后,将这些词条统一化为标准格式以提高它们的“可搜索性”,或者 recall 分析器执行上面的工作。2.分析器分析器 实际上是将三个功能封装到了一个包里:2.1字符过滤器首先,字符串按顺序通过每个 字符过滤器 ...原创 2018-05-31 20:03:57 · 461 阅读 · 0 评论 -
Kibana配置项
server.port: 默认值: 5601 Kibana 由后端服务器提供服务,该配置指定使用的端口号。 server.host: 默认值: “localhost” 指定后端服务器的主机地址。 server.basePath: 如果启用了代理,指定 Kibana 的路径,该配置项只影响 Kibana 生成的 URLs,转发请求到 Kibana 时代理会移除基础路径值,该配置项不能以斜杠...原创 2018-07-04 19:12:31 · 3825 阅读 · 2 评论 -
elasticsearch 处理null值
1.查询为空的字段我们查询某个字段为空的数据时,在mysql中:select eid,ent_name from ent_search where enttype_code is NULL;在elasticsearch中,我们使用的api为exists,这个查询是:查询这个字段为空的或者没有这个字段的:GET ent_search/_search{ "_source"...原创 2018-07-25 18:03:51 · 7517 阅读 · 2 评论 -
elasticsearch 报错 :"no [query] registered for [missing]"
这个错误是在用elasticsearch查询时使用missing这个api报出的错误: 比如查询语句为:GET ent_search/_search{ "_source": ["eid","ent_name","enttype_code"], "query": { "constant_score": { "filter": {原创 2018-07-25 18:37:24 · 12110 阅读 · 3 评论 -
No buffer space available (maximum connections reached?): connect
java调用es,过于频繁,发生了如下错误:2018-07-27 11:44:28 814 | ERROR | pool-2722-thread-1 | CloseableHttpAsyncClientBase$1 | I/O reactor terminated abnormallyorg.apache.http.nio.reactor.IOReactorException: Failur...原创 2018-07-27 11:54:23 · 4092 阅读 · 0 评论 -
Elasticsearch教程目录
↓↓↓Elasticsearch教程目录,点击直接进入文章↓↓↓,也可进入专栏:1.Elasticsearch简介2.Elasticsearch和Java交互3.Elasticsearch面向文档4.Elasticsearch索引文档5.Elasticsearch检索文档6.Elasticsearch轻量搜索7.Elasticsearch请求...原创 2018-05-24 21:03:26 · 1251 阅读 · 0 评论 -
10.Elasticsearch查询关键字1
本文讲解几个查询时常用的关键字:match_all 查询match 查询multi_match 查询range 查询term 查询terms 查询exists 查询和 missing 查询match_all 查询match_all 查询简单的 匹配所有文档。在没有指定查询方式时,它是默认的查询:{ "match_all": {}}它经常与 filter ...原创 2018-05-24 20:51:55 · 7109 阅读 · 0 评论 -
Elasticsearch数据库match和term的区别
es种有两种查询模式,一种是像传递URL参数一样去传递查询语句,被称为简单搜索或查询字符串(query string)搜索,比如GET /megacorp/employee/_search //查询全部员工GET /megacorp/employee/_search?q=last_name:Smith //查询last_name为Smith的员工另外一种是通过DSL语句来进行查询,被称为DSL...转载 2018-05-09 19:01:44 · 5407 阅读 · 2 评论 -
Elasticsearch中删除数据
删除文档想找个删除的api,找不到能用的,只能自己去翻译了。。。。。。delete API允许从基于其id的特定索引中删除一个JSON文档,下面的示例从twitter中删除类型为_doc的JSON文档,其id为1:DELETE /twitter/_doc/1上述删除操作的结果为:{ "_shards" : { "total" : 2, ...原创 2018-05-10 15:47:09 · 40320 阅读 · 3 评论 -
1.Elasticsearch简介
1.简介Elasticsearch 是一个分布式、可扩展、实时的搜索与数据分析引擎。建立在一个全文搜索引擎库 Apache Lucene™ 基础之上。2.和lucene的关系Lucene 仅仅只是一个库,为了充分发挥其功能,需要使用 Java 并将 Lucene 直接集成到应用程序中,使用起来非常麻烦。Elasticsearch 也是使用 Java 编写的,它的内部使用 Luc...原创 2018-05-13 12:55:29 · 924 阅读 · 0 评论 -
2.Elasticsearch和Java交互 -- java操作es
本系列主要使用java为主要语言来和Elasticsearch进行交互。1.JAVA API如果你正在使用 Java,在代码中你可以使用 Elasticsearch 内置的两个客户端:节点客户端(Node client) 节点客户端作为一个非数据节点加入到本地集群中。换句话说,它本身不保存任何数据,但是它知道数据在集群中的哪个节点中,并且可以把请求转发到正确的节点。传输客户端...原创 2018-05-13 12:56:32 · 2917 阅读 · 1 评论 -
3.Elasticsearch面向文档
1.面向文档在应用程序中对象很少只是一个简单的键和值的列表。通常,它们拥有更复杂的数据结构,可能包括日期、地理信息、其他对象或者数组等。也许有一天你想把这些对象存储在数据库中。使用关系型数据库的行和列存储,这相当于是把一个表现力丰富的对象挤压到一个非常大的电子表格中:你必须将这个对象扁平化来适应表结构–通常一个字段>对应一列–而且又不得不在每次查询时重新构造对象。Elastics...原创 2018-05-13 12:57:26 · 808 阅读 · 0 评论 -
11.Elasticsearch查询关键字2
本文主要讲解组和查询使用的关键字boolmustmust_notshouldfilterconstant_score 在很多时候,我们不仅仅是根据id来查询某条记录或者某个文档,我们需要进行一系列的筛选和过滤,此时,我们需要把各种条件组和起来,成为一条语句去执行,本文,就是讲如何处理此问题。 目录:1.使用bool组和查询条件2.相关性得分计算方式3.filter过滤查询...原创 2018-05-25 16:55:26 · 2208 阅读 · 0 评论 -
12.Elasticsearch查询关键字3
本文讲解验证查询目录: - 1._validate - 2.explain - 3.rewrite在使用正常查询时,如下:GET people/user/_search?q=age:27会返回查询结果{ "took": 0, "timed_out": false, "_shards": { &原创 2018-05-25 18:59:56 · 1981 阅读 · 1 评论 -
4.Elasticsearch索引文档
本文从索引文档开始,后面逐步讲解索引,搜索,聚合等概念,如果有概念不能理解,可以先照着代码操作,后面会更详细的解释。我们这里创建几个文档,用来存储user信息,在使用mysql时,一条user信息,在user表中可能是一条数据,然后这条数据中会关联其他表的id,这样多张关联表的内容,综合起来,会形成一个完整的user信息。但是在es中,我们可以把所有关于user的信息全部存在一个文档中,以us...原创 2018-05-23 11:34:48 · 770 阅读 · 0 评论 -
5.Elasticsearch检索文档
前一篇我们索引(存储)了文档,本篇我们讲解最简单的查询文档,和删除文档。1.根据id查询文档我们执行一个http get请求,指定文档的索引库,类型,id,即可返回此文档GET people/user/1返回结果为:{ "_index": "people", "_type": "user", "_id&a原创 2018-05-23 11:51:34 · 859 阅读 · 0 评论 -
6.Elasticsearch轻量搜索
轻量搜索有两种形式的 搜索 API: - 一种是 “轻量的” 查询字符串 版本,要求在查询字符串中传递所有的参数 - 另一种是更完整的请求体版本,要求使用 JSON 格式和更丰富的查询表达式作为搜索语言。本文主要讲解这种轻量的搜索。查询字符串搜索非常适用于通过命令行做即席查询。例如,查询在 tweet 类型中 tweet 字段包含 elasticsearch 单词的所有文档:...原创 2018-05-23 17:32:04 · 736 阅读 · 0 评论 -
"reason":"object mapping for [] tried to parse field [] as object, but found a concrete value"
使用java操作es,添加文档时,出现如下错误:[{"type":"mapper_parsing_exception","reason":"object mapping for [enclosure_infor原创 2018-05-28 14:59:53 · 18310 阅读 · 3 评论 -
413 Request Entity Too Large
使用es存储文档时,当某个字段内容过大时,会出现 413 Request Entity Too Large,堆栈信息如下:HTTP/1.1 413 Request Entity Too Large<html><head><title>413 Request Entity Too Large</title></head><b...原创 2018-05-28 16:16:32 · 3333 阅读 · 4 评论 -
7.Elasticsearch请求体查询
本文目录: - 请求体查询 - 空查询 - from 和size - 注意get请求请求体查询轻量搜索 —query-string search— 对于用命令行进行即席查询(ad-hoc)是非常有用的。 然而,为了充分利用查询的强大功能,你应该使用 请求体 search API, 之所以称之为请求体查询(Full-Body Search),因为大部分参数是通过 Http 请求体...原创 2018-05-24 16:56:38 · 1039 阅读 · 0 评论 -
8.Elasticsearch查询表达式Query DSL
Query DSL查询表达式(Query DSL)是一种非常灵活又富有表现力的 查询语言。 Elasticsearch 使用它可以以简单的 JSON 接口来展现 Lucene 功能的绝大部分。在你的应用中,你应该用它来编写你的查询语句。它可以使你的查询语句更灵活、更精确、易读和易调试。要使用这种查询表达式,只需将查询语句传递给 query 参数:比如前面的空查询,又可以写为:G...原创 2018-05-24 16:58:12 · 2264 阅读 · 0 评论 -
13.Elasticsearch查询语句4
本文从简单到复杂,将前面的查询关键字都用起来,并给出在mysql中的语句样式,方便对比理解。1.简单条件查询mysql:SELECT *FROM policy_fileWHERE LEVEL = '国家级'AND web_source = '浙江省人民政府'AND launch_department != '浙江省工商局'Elasticsea...原创 2018-05-29 17:14:31 · 1572 阅读 · 0 评论 -
搭建Elasticsearch环境,搭建kibana 环境
看了网上一堆文章,抄来抄去的,也没有个完整易用的,自己整理了一篇,本文原载于我的gitchat的付费分享,现在分享一下。告知:1.Elasticsearch和kibana均基于5.5.3版本;官方建议:在二者版本选择时,Elasticsearch应该大于等于kibana版本,否则在使用和升级过程中会出问题,截至文章出稿,已经更新到6.3.0版本,本文以5.5.3版本为例,对其他...原创 2018-07-23 09:15:14 · 20264 阅读 · 12 评论