elasticsearch之Java调用本地代码

虽然Java虚拟机为开发人员屏蔽了底层的实现细节,使得开发人员不用考虑底层操作系统的差异性。不过在某些应用程序中,还是免不了要直接与底层操作系统上的原生代码进行交互。今天我们就来看一下Java对本地调用提供的支持。 一、为什么要进行本地调用 1.基于性能的考虑 Java语言从其运行速度上来说,在大多 ... »

Elasticsearch集群升级指引

目录 背景 第一部分 版本升级指引 第二部分 升级方法和具体步骤 总结 参考文献及资料 背景 Elasticsearch集群的版本升级是一项重要的集群维护工作。本篇文章参考官方文档,将详细介绍相关细节。 第一部分 版本升级指引 1.1 同步升级Elastic Stack组件 对于Elasticsea ... »

ES 终于可以搜到”悟空哥“了!

Elasticsearch 搜索引擎内置了很多种分词器,但是对中文分词不友好,所以我们需要借助第三方中文分词工具包。 悟空哥专门研究了下 ik 中文分词工具包该怎么玩,希望对大家有所帮助。 本文主要内容如下: 1 ES 中的分词的原理 1.1 ES 的分词器概念 ES 的一个分词器 ( tokeni ... »

为什么ElasticSearch比MySQL更适合全文索引

熟悉 MySQL 的同学一定都知道,MySQL 对于复杂条件查询的支持并不好。MySQL 最多使用一个条件涉及的索引来过滤,然后剩余的条件只能在遍历行过程中进行内存过滤,上述这种处理复杂条件查询的方式因为只能通过一个索引进行过滤,所以需要进行大量的 I/O 操作来读取行数据,并消耗 CPU 进行内存... ... »

Elasticsearch 之 Filter 与 Query 有啥不同?

今天来了解下 Elasticsearch(以下简称 ES) 中的 Query 和 Filter。 在 ES 中,提供了 Query 和 Filter 两种搜索: Query Context:会对搜索进行相关性算分 Filter Context:不需要相关性算分,能够利用缓存来获得更好的性能 举一个栗 ... »

Elasticsearch如何保证数据不丢失?

如何保证数据写入过程中不丢 数据写入请求达到时,以需要的数据格式组织并写入磁盘的过程叫做数据提交,对应es就是创建倒排索引,维护segment文件 如果我们同步的方式,来处理上述过程,那么系统的吞吐量将很低 如果我们以异步的方式,先写入内存,然后再异步提交到磁盘,则有可能因为机器故障而而丢失还未写入 ... »

【ElasticSearch】 使用AWS云ES服务来分析程序日志

最近公司系统升级,有些API的调用接口达到了每天10几万的请求量。目前公司里的日志,都是写文本文件中的。为了能够更好的分析这些日志数据,公司采用了AWS 的 ElasticSearch服务来分析日志。这篇文章记录了如何使用AWS上的ElasticSearch,以及需要注意那些坑。 1. 准备条件 1 ... »

Elasticsearch从入门到放弃:浅谈算分

今天来聊一个 Elasticsearch 的另一个关键概念——相关性算分。在查询 API 的结果中,我们经常会看到 _score 这个字段,它就是用来表示相关性算分的字段,而相关性就是描述一个文档和查询语句的匹配程度。 打分的本质其实就是排序,Elasticsearch 会把最符合用户需求的文档排在 ... »

ElasticSearch-IK分词器和集成使用

## 1.查询存在问题分析 在进行字符串查询时,我们发现去搜索"搜索服务器"和"钢索"都可以搜索到数据; 而在进行词条查询时,我们搜索"搜索"却没有搜索到数据; 究其原因是ElasticSearch的标准分词器导致的,当我们创建索引时,字段使用的是标准分词器: 如果使用ES搜索中文内容,默认是不支 ... »

ElasticSearch-命令行客户端操作

## 1.引言 实际开发中,主要有三种方式可以作为elasticsearch服务的客户端: 第一种,elasticsearch-head插件(可视化工具) 第二种,使用elasticsearch提供的Restful接口直接访问(仅仅用户学习测试) 第三种,使用elasticsearch提供的API ... »

ES标签搜索并解决评分排序问题

一、概述 需求: 最近在做一个新闻项目,有这样一个需求,如下: 用户根据视频内容手动创建标签,标签个数不限 在视频详情页提供根据标签推荐视频功能,即按本视频的标签进行搜索,标签匹配多的排在前面,匹配少的排在后面 经过分析、调研,以单字段存储标签,尝试了下面的几种方案,这里一并写出 不可行方案: 字段 ... »

Elasticsearch索引生命周期管理方案

一、前言 在 Elasticsearch 的日常中,有很多如存储 系统日志、行为数据等方面的应用场景,这些场景的特点是数据量非常大,并且随着时间的增长 索引 的数量也会持续增长,然而这些场景基本上只有最近一段时间的数据有使用价值或者会被经常使用(热数据),而历史数据几乎没有作用或者很少会被使用(冷数 ... »

Elasticsearch 第七篇:父子结构mapping设计以及相关查询

首先在 Elasticsearch 较高版本中,是抛弃掉 type 这一概念的,我们做搜索时,时常需要涉及到父子数据结构,以下通过建立电影索引库,来示范一下。 一部电影有多个演员,父级为电影 film ,子级为演员 actor 。 第一步 mapping设计 在以下代码中,注意一对多是如何通过 re ... »

Elasticsearch 第六篇:聚合统计查询

前面一直没有记录 Elasticsearch 的聚合查询或者其它复杂的查询。本篇做一下笔记,为了方便测试,索引数据依然是第五篇生成的测试索引库 db_student_test ,别名是 student_test 第一部分 基本聚合 1、最大值 max、最小值 min、平均值 avg 、总和 sum ... »