- 博客(20)
- 收藏
- 关注
翻译 《Elasticsearch:权威指南》Query DSL -- Term-level queries --Term Query
文章目录Term Query(精确词查询)为什么term query会匹配不到数据Term Query(精确词查询)精确词查询查找倒排索引中指定的精确词的文档。 例如:精确词查找特指keyword类型数据,未经分词处理。POST _search{ "query": { "term" : { "user" : "Kimchy" } //查询user字段并且值为Kimchy的文档 }}注意:这里的Kimchy中的K是大写的,在《Elasticsearch:权威指南》Do
2020-08-31 20:05:09 173
原创 【Java8特性】之 Java Stream
文章目录概述什么是 Stream?生成流forEachmapfilterlimitsorted概述Java 8 API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据。Stream 使用一种类似用 SQL 语句从数据库查询数据的直观方式来提供一种对 Java 集合运算和表达的高阶抽象。Stream API可以极大提高Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。这种风格将要处理的元素集合看作一种流, 流在管道中传输, 并且可以在管道的节点上进行处理, 比如筛选
2020-08-28 09:26:43 95
原创 【序列化】序列化和反序列化知识汇总
文章目录概述对字符串进行序列化对java对象进行序列化复写readObject和writeObject为何复写readObject和writeObject问题总结1.序列化之前和反序列化之后的对象可能是同一个对象吗?2.序列化和反序列化破坏单例模式的解决?3.实现了Serializable接口的serialVersionUID作用是什么?概述如果没有实现Serializable接口而进行序列化操作就会抛出NotSerializableException异常。能够序列化的字段:属性变量、父类的属性变量(
2020-08-27 19:23:27 350
转载 【序列化】UNSAFE_DESERIALIZATION 不安全的反序列化和反序列化漏洞
Unsafe Deserialization进行代码检查时,Coverity工具在进行json转换时,报Unsafe Deserialization错误,字面意思是不安全的反序列化,根本原因就是反序列化会有漏洞导致的。看完下文反序列化漏洞的原理后,我们就知道该如何解决这个问题了。反序列化漏洞...
2020-08-21 16:55:06 6193
原创 【java8新特性】之 方法引用
【Java8特性】汇总文章目录概述什么是方法引用概述我们用Lambda表达式来实现匿名方法。但是如果已经存在某个匿名表达式的实现,并且将其引用,不用每次重新写一个表达式,岂不是很好吗?方法引用就可以做到,它使得Lambda在调用那些已经拥有方法名的方法的代码更简洁、更容易理解。如果就是Lambda体内只有一行语句,这个语句仅仅是调用了一个已存在的方法。如下:Arrays.sort(stringsArray,(s1,s2)->s1.compareToIgnoreCase(s2));在Jav
2020-08-20 19:17:11 131
原创 【IO流】ByteArrayOutputStream或ByteArrayInputStream不需要关闭流原因分析
ByteArrayOutputStream或ByteArrayInputStream是内存读写流,不同于指向硬盘的流,它内部是使用字节数组读内存的,这个字节数组是它的成员变量,当这个数组不再使用变成垃圾的时候,Java的垃圾回收机制会将它回收。所以不需要关流。如下图所示,ByteArrayOutputStream内部是数组://jdk 1.8 public class ByteArrayOutputStream extends OutputStream { protected byte buf
2020-08-19 17:22:58 1135
原创 【Java8特性】之 lambda表达式
文章目录什么是Lambda表达式什么是Lambda表达式Lambda 表达式,也可称为闭包,它是推动 Java 8 发布的最重要新特性。Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中)。使用 Lambda 表达式可以使代码变的更加简洁紧凑。Lambda表达式基于函数式接口实现,故可以认为Lambda表达式是对函数式接口的匿名内部类的一种简写形式。语法:(parameters) -> expression或(parameters) ->{ statement
2020-08-17 20:39:12 168 1
原创 【Java8特性】之 函数式接口
文章目录什么是函数式接口什么是函数式接口函数式接口其实本质上还是一个接口,但是它是一种特殊的接口:SAM类型的接口(Single Abstract Method),有且仅有一个抽象方法,但是可以有多个非抽象方法的接口。定义了这种类型的接口,使得以其为参数的方法,可以在调用时,使用一个Lambda表达式作为参数。@FunctionalInterface //该注解声明MyInterface 是函数式接口,会强制进行编译检查public interface MyInterface { vo
2020-08-17 19:52:32 112
原创 【Java8特性】汇总
文章目录概述Interfacedefault(默认方法)default(默认方法)注意事项多个默认方法static (静态方法)lambda表达式与函数式接口Optional概述历史上有两个版本变化比较大,一个是Java 5,另一个就是Java 8。本Java8新特性系列将着重分析理解Java8的新特性,以及其是怎么为我们开发提升效率的。Java8变化最大的几个特性分别是:InterfaceLambda引用StreamOptionalInterface在Java8版本以前,Inte
2020-08-17 19:22:30 131
原创 【Java8特性】之Optional详解
文章目录Optional类介绍Optional类的使用创建Optional实例Optional.empty()Optional.of()Optional.ofNullable()访问 Optional 对象的值get()isPresent()ifPresent()orElse(T other)orElseGet(Supplier<? extends T> other)orElse() 和 orElseGet() 的不同之处orElseThrow(Supplier<? extends X&g
2020-08-17 11:55:17 1415 2
原创 pyinstaller 工具 生成Python可执行文件
pyinstaller相关参数-F, –onefile打包一个单个文件,如果你的代码都写在一个.py文件的话,可以用这个,如果是多个.py文件就别用-D, –onedir打包多个文件,在dist中生成很多依赖文件,适合以框架形式编写工具代码,我个人比较推荐这样,代码易于维护-K, –tk在部署时包含 TCL/TK-a, –ascii不包含编码.在支持Unicode的python版本上默认包含所有的编码.-d, –debug产生debug版本的可执行文件
2020-08-13 21:01:58 551
翻译 《Elasticsearch:权威指南》Query DSL -- Term-level queries
Elasticsearch:权威指南6.8.6目录文章目录Term-level queries (术语级查询)Types of term-level queriesTerm-level queries (术语级查询)您可以使用 term-level queries(术语级查询)并根据结构化数据中的精确值查找文档。 结构化数据的示例包括日期范围,IP地址,价格或产品ID。与 full-text queries (全文查询) 不同,term-level queries(术语级查询)不分析搜索词。 而是
2020-08-12 11:29:00 125
转载 《Elasticsearch:权威指南》Query DSL -- Query and filter context
查询子句的行为取决于在 query context 中还是在 filter context中使用它:Query contextquery context'中使用的查询子句回答以下问题:“此文档与该查询子句的匹配程度如何?” 除了确定文档是否匹配之外,查询子句还计算一个_score,该 _score 表示文档相对于其他文档的匹配程度。只要将查询子句传递到query参数(例如search API中的query参数),query context'就有效。Filter context 在filte
2020-08-11 21:02:51 143
翻译 《Elasticsearch:权威指南》Mapping -- Field datatypes -- Object datatype
文章目录Object datatype(对象数据类型)object字段的参数Object datatype(对象数据类型)JSON文档本质上是分层的:文档包含内部对象,内部对象本身还包含内部对象:PUT my_index/_doc/1{ // 外层的文档也是是 JSON 对象 "region": "US", "manager": { //包含称为 manager 的内部对象 "age": 30, "name": { //manager 对象还包含一个内部对
2020-08-10 16:28:13 207
翻译 《Elasticsearch:权威指南》Mapping -- Mapping parameters -- fields(multi-fields)
虽然原文名称是fields,单主要是描述multi-fields文章目录fields(字段)Multi-fields with multiple analyzers(多分析器处理多字段)fields(字段)我们经常会因为不同的目的将同一个字段用不同的方式索引。这就相当于实现了 multi-fields。例如,一个 string 类型字段可以被映射成 text 字段作为 full-text 进行搜索,同时也可以作为 keyword 字段用于排序和聚合:为了解释上面的原文,我先举个自己的例子,这样对比就
2020-08-10 15:46:34 736
翻译 《Elasticsearch:权威指南》Indices APIs -- Put Mapping(定义和修改mapping)
文章目录Put Mapping(设置映射)Multi-index(多索引)Skipping typesPut Mapping(设置映射)格式:PUT /{index}/_mapping/{type}PUT mapping API 允许您将字段添加到现有索引或仅通过修改已存在字段的设置来改变搜索结果。PUT twitter // 创建一个名叫 twitter 的索引,未指定mapping{}PUT twitter/_mapping/_doc { "properties": {
2020-08-10 11:17:00 2084
转载 Elasticsearch 技术分析(二): 索引映射Mapping问题
文章目录什么是映射?字段类型核心数据类型复杂数据类型Geo数据类型专用数据类型多字段映射动态映射日期检测数字检测静态映射(显式映射)什么是映射?数据库建表的时候,我们的DDL语句一般都会指定每个字段的存储类型,例如:varchar,int,datetime等等,目的很明确,就是更精确的存储数据,防止数据类型格式混乱。CREATE TABLE `shop_` ( `id_` varchar(36) NOT NULL COMMENT 'id', `shop_name_` varchar(50) D
2020-08-07 17:48:47 490
翻译 《Elasticsearch:权威指南》Search APIs -- URI Search
《Elasticsearch:权威指南6.8.6目录》文章目录URI SearchParametersURI Search通过提供请求参数,可以纯粹使用URI执行搜索请求。 使用此模式执行搜索时,并非所有搜索选项都公开,但是对于快速的“curl tests”而言,它可能很方便。 这是一个例子:GET twitter/_search?q=user:kimchy返回值:{ "timed_out": false, "took": 62, "_shards":{
2020-08-01 19:14:03 265
转载 Elasticsearch 技术分析(一): 基础入门
文章目录简介版本选择环境搭建安装 Elasticsearch运行 Elasticsearch可视化 web 界面elasticsearch-head基本概念集群(Cluster)节点(Node)索引(Index)类型(Type)文档(Document)分片(Shards)副本(Replicasedit)小结与Elasticsearch交互数据格式简介Elasticsearch是一个高度可扩展的、开源的、基于 Lucene 的全文搜索和分析引擎。它允许您快速,近实时地存储,搜索和分析大量数据,并支持多租户
2020-08-01 18:45:58 226
翻译 《Elasticsearch:权威指南》Search APIs -- Search(搜索)
《Elasticsearch:权威指南6.8.6目录》
2020-08-01 15:28:18 140
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人