自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 论坛 (1)
  • 收藏
  • 关注

原创 Elasticsearch教程目录

↓↓↓Elasticsearch教程目录,点击直接进入文章↓↓↓,也可进入专栏:1.Elasticsearch简介2.Elasticsearch和Java交互3.Elasticsearch面向文档4.Elasticsearch索引文档5.Elasticsearch检索文档6.Elasticsearch轻量搜索7.Elasticsearch请求...

2018-05-24 21:03:26 1058

原创 21.Elasticsearch分析与分析器

本文讲解Elasticsearch对文本的分析及内置的分析器。1.分析分析 包含下面的过程:首先,将一块文本分成适合于倒排索引的独立的 词条 , 之后,将这些词条统一化为标准格式以提高它们的“可搜索性”,或者 recall 分析器执行上面的工作。2.分析器分析器 实际上是将三个功能封装到了一个包里:2.1字符过滤器首先,字符串按顺序通过每个 字符过滤器 ...

2018-05-31 20:03:57 285

原创 20.Elasticsearch倒排索引原理

本文讲解Elasticsearch中倒排索引的原理。Elasticsearch 使用一种称为倒排索引的结构,它适用于快速的全文搜索。一个倒排索引由文档中所有不重复词的列表构成,对于其中每个词,有一个包含它的文档列表。假设有两个文档,每个文档的 content 域包含如下内容:The quick brown fox jumped over the lazy dogQuick b...

2018-05-31 19:09:55 760

原创 19.Elasticsearch更新文档5---局部更新4---官方文档翻译

由于网上没有找到5.5版本的资料,很多资料都是2.x版本的,更新时语法差异较大,所以我这里翻译一下官方文档的这一部分内容。翻译时,示例代码均替换为我实践中的真实代码,这样确保了本文档的准确性。 - 本文版本:5.5 - 官方文档原文路径:Elasticsearch Reference [5.5] » Document APIs » Update API - 官方文档原文地址:点击跳转以下...

2018-05-31 16:11:41 1671

原创 18.Elasticsearch更新文档4---局部更新3---restAPI

在 更新整个文档 , 我们已经介绍过 更新一个文档的方法是检索并修改它,然后重新索引整个文档;然而,使用 update API 我们还可以部分更新文档,例如在某个请求时对计数器进行累加(比如博客的被访问次数)。前面介绍过文档是不可变的:他们不能被修改,只能被替换。 update API 必须遵循同样的规则。 从外部来看,我们在一个文档的某个位置进行部分更新。然而在内部, update API ...

2018-05-31 15:58:47 964

原创 17.Elasticsearch更新文档3---局部更新2---脚本更新2

本文讲解一下用脚本如何去修改一个数组的值。我们给此文档新增一个可以有多个值的属性,然后进行脚本操作4.新增字段POST /policy_document/policy_document/222/_update{ "doc": { "tags":["重要"] }}或者用脚本新增POST policy_

2018-05-31 14:56:50 1493

原创 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 543

原创 15.Elasticsearch更新文档1---全文更新---restAPI

在 Elasticsearch 中文档是 不可改变 的,不能修改它们。 相反,如果想要更新现有的文档,需要 重建索引 或者进行替换, 我们可以使用相同的 index API 进行实现。1.新增一个文档PUT /policy_document/policy_document/333{ "level":"国家",

2018-05-29 21:12:12 760

原创 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 1719

原创 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 943

原创 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 10900 4

原创 13.Elasticsearch查询语句4

本文从简单到复杂,将前面的查询关键字都用起来,并给出在mysql中的语句样式,方便对比理解。1.简单条件查询mysql:SELECT *FROM policy_fileWHERE LEVEL = '国家级'AND web_source = '浙江省人民政府'AND launch_department != '浙江省工商局'Elasticsea...

2018-05-29 17:14:31 1231

原创 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 1634 3

原创 "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 8387

转载 java IO流总结

文章来源:点击跳转Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列。数据流是一串连续不断的数据的集合,就象水管里的水流,在水管的一端一点一点地供水,而在水管的另一端看到的是一股连续不断的水流。数据写入程序可以是一段、一段地向数据流管道中写入数据,这些数据段会按先后顺序形成一个长的数据...

2018-05-26 17:32:53 140

原创 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 1371

原创 11.Elasticsearch查询关键字2

本文主要讲解组和查询使用的关键字boolmustmust_notshouldfilterconstant_score 在很多时候,我们不仅仅是根据id来查询某条记录或者某个文档,我们需要进行一系列的筛选和过滤,此时,我们需要把各种条件组和起来,成为一条语句去执行,本文,就是讲如何处理此问题。 目录:1.使用bool组和查询条件2.相关性得分计算方式3.filter过滤查询...

2018-05-25 16:55:26 1351

原创 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 4440

转载 9.Elasticsearch查询与过滤

本文目录:过滤情况(filtering context)查询情况(query context)性能差异如何选择查询与过滤编辑Elasticsearch 使用的查询语言(DSL) 拥有一套查询组件,这些组件可以以无限组合的方式进行搭配。这套组件可以在以下两种情况下使用: - 过滤情况(filtering context) - 查询情况(query context)过滤情...

2018-05-24 17:56:41 685

原创 8.Elasticsearch查询表达式Query DSL

Query DSL查询表达式(Query DSL)是一种非常灵活又富有表现力的 查询语言。 Elasticsearch 使用它可以以简单的 JSON 接口来展现 Lucene 功能的绝大部分。在你的应用中,你应该用它来编写你的查询语句。它可以使你的查询语句更灵活、更精确、易读和易调试。要使用这种查询表达式,只需将查询语句传递给 query 参数:比如前面的空查询,又可以写为:G...

2018-05-24 16:58:12 1713

原创 7.Elasticsearch请求体查询

本文目录: - 请求体查询 - 空查询 - from 和size - 注意get请求请求体查询轻量搜索 —query-string search— 对于用命令行进行即席查询(ad-hoc)是非常有用的。 然而,为了充分利用查询的强大功能,你应该使用 请求体 search API, 之所以称之为请求体查询(Full-Body Search),因为大部分参数是通过 Http 请求体...

2018-05-24 16:56:38 742

原创 6.Elasticsearch轻量搜索

轻量搜索有两种形式的 搜索 API: - 一种是 “轻量的” 查询字符串 版本,要求在查询字符串中传递所有的参数 - 另一种是更完整的请求体版本,要求使用 JSON 格式和更丰富的查询表达式作为搜索语言。本文主要讲解这种轻量的搜索。查询字符串搜索非常适用于通过命令行做即席查询。例如,查询在 tweet 类型中 tweet 字段包含 elasticsearch 单词的所有文档:...

2018-05-23 17:32:04 441

原创 5.Elasticsearch检索文档

前一篇我们索引(存储)了文档,本篇我们讲解最简单的查询文档,和删除文档。1.根据id查询文档我们执行一个http get请求,指定文档的索引库,类型,id,即可返回此文档GET people/user/1返回结果为:{ "_index": "people", "_type": "user", "_id&a

2018-05-23 11:51:34 584

原创 4.Elasticsearch索引文档

本文从索引文档开始,后面逐步讲解索引,搜索,聚合等概念,如果有概念不能理解,可以先照着代码操作,后面会更详细的解释。我们这里创建几个文档,用来存储user信息,在使用mysql时,一条user信息,在user表中可能是一条数据,然后这条数据中会关联其他表的id,这样多张关联表的内容,综合起来,会形成一个完整的user信息。但是在es中,我们可以把所有关于user的信息全部存在一个文档中,以us...

2018-05-23 11:34:48 510

原创 java8 集合操作

利用java8的stream,根据集合的某个属性值,给集合做排序.1.实体类要实现Comparable接口public class IndustryInfo implements Comparable<IndustryInfo>{ private String code; private String name; priva

2018-05-16 13:58:47 825

原创 3.Elasticsearch面向文档

1.面向文档在应用程序中对象很少只是一个简单的键和值的列表。通常,它们拥有更复杂的数据结构,可能包括日期、地理信息、其他对象或者数组等。也许有一天你想把这些对象存储在数据库中。使用关系型数据库的行和列存储,这相当于是把一个表现力丰富的对象挤压到一个非常大的电子表格中:你必须将这个对象扁平化来适应表结构–通常一个字段>对应一列–而且又不得不在每次查询时重新构造对象。Elastics...

2018-05-13 12:57:26 534

原创 2.Elasticsearch和Java交互 -- java操作es

本系列主要使用java为主要语言来和Elasticsearch进行交互。1.JAVA API如果你正在使用 Java,在代码中你可以使用 Elasticsearch 内置的两个客户端:节点客户端(Node client) 节点客户端作为一个非数据节点加入到本地集群中。换句话说,它本身不保存任何数据,但是它知道数据在集群中的哪个节点中,并且可以把请求转发到正确的节点。传输客户端...

2018-05-13 12:56:32 2321 1

原创 1.Elasticsearch简介

1.简介Elasticsearch 是一个分布式、可扩展、实时的搜索与数据分析引擎。建立在一个全文搜索引擎库 Apache Lucene™ 基础之上。2.和lucene的关系Lucene 仅仅只是一个库,为了充分发挥其功能,需要使用 Java 并将 Lucene 直接集成到应用程序中,使用起来非常麻烦。Elasticsearch 也是使用 Java 编写的,它的内部使用 Luc...

2018-05-13 12:55:29 642

原创 net.sf.json.JSONObject maven依赖

最后一行需要保留,有两个jdk版本的实现:json-lib-2.1-jdk13.jar和json-lib-2.1-jdk15.jar <dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</art...

2018-05-12 15:36:04 66413 25

原创 MD5工具

MD5工具类import org.apache.commons.codec.digest.DigestUtils;import java.io.UnsupportedEncodingException;import java.security.SignatureException;/** * 功能:MD5签名处理核心文件,不需要修改* */public class MD5...

2018-05-10 19:22:20 394

原创 Elasticsearch中删除数据

删除文档想找个删除的api,找不到能用的,只能自己去翻译了。。。。。。delete API允许从基于其id的特定索引中删除一个JSON文档,下面的示例从twitter中删除类型为_doc的JSON文档,其id为1:DELETE /twitter/_doc/1上述删除操作的结果为:{ "_shards" : { "total" : 2, ...

2018-05-10 15:47:09 35380 3

原创 Illegal base64 character a

base64解码为文件方式不止一种,下面两种,如果一种报错,换另外一种试一下: byte[] bytes = Base64Utils.decodeFromString(base64Str); byte[] bytes1 = new BASE64Decoder().decodeBuffer(base64Str);先将base64字符串转为byte...

2018-05-10 14:54:02 6193

转载 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 3389 1

转载 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 3860

原创 Spring获取配置文件常量

1.配置文件# policyFilepolicyFile.es.host=1.1.1.1policyFile.es.port=9200policyFile.es.hostname=xxxxpolicyFile.es.password=1234562.常量实体类import org.springframework.beans.factory.Initializing...

2018-05-09 10:07:15 2004

原创 java文件转二进制

本工具类提供三个方法:1.文件转为二进制数组2.文件转为二进制字符串3.二进制字符串还原为文件可当做工具类直接使用。package com.yscredit.sz.util;import org.springframework.util.FileCopyUtils;import java.io.ByteArrayOutputStream;import java.i...

2018-05-07 15:03:26 16361 3

原创 json转map

java中map和json互转工具类,注意方法示例的格式(这里是最简单的无嵌套的格式),不满足此格式的不合适:package com.yscredit.sz.util;import com.alibaba.fastjson.JSON;import org.apache.commons.collections.map.LinkedMap;import org.codehaus.jac...

2018-05-07 14:59:07 208

原创 java 巧用标识符

很多时候,巧用标识会很大的减少代码量和厘清代码逻辑;比如下面,这里的entName和code都有可能为空,也可能都不为空,但是当两entName都不为空且相等,或者当两code都不为空且相等时,才会执行代码逻辑;这个需求,如果只用if else不用标识,那处理逻辑会重复的写到不同的判断中,而用标识后,就非常简单了。示例代码如下:for(int i = 0;i < nextList.s...

2018-05-04 17:38:58 141

原创 mysql 字符串转日期

在mysql做数据库迁移时,如果数据不过程序,纯sql操作,那么将字符串转为日期格式可以使用如下方式:SELECT DATE('2017-02-11')SELECT DATE('2017/02/11')SELECT STR_TO_DATE('2015/02/25','%Y/%m/%d')SELECT STR_TO_DATE('2015-02-25','%Y-%m-%d')转换...

2018-05-04 15:01:47 13233

原创 git push 每次都需要输入用户名和密码

这个说明使用的是https的方式提交代码,建议使用ssh,git安装好后,先在本地生成sshkey,然后在git上配置一下即可。配置方式如下: 再拉取代码时选择ssh的方式:这样push代码就不用用户名和密码了,免去了繁琐的输入。...

2018-05-03 23:05:07 2212

空空如也

IT云清的留言板

发表于 2020-01-02 最后回复 2020-01-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除