
ElasticSearch
文章平均质量分 56
ElasticSearch学习笔记,主要包括最基本知识、Kinaba使用、Spring接入等内容。
程序员麻薯
扶我起来,我还能再卷一会(ง •̀_•́)ง 点关注,和我一起卷╭(′▽`)╭(′▽`)╯
展开
-
谨慎使用QueryParser.escape,可能导致错误转义短横线符号
在我们使用ElasticSearch查询的时候为了避免查询信息中包含特殊字符通常会使用QueryParser.escape进行文本转义;但是这可能到来错误:比如我们期望查询信息是:HELLO-123会被转义成:HELLO\-123代码如下:如果我们只是想查询HELLO-123,而不是用于排除123的含义,会导致系统错误转义最好是确定使用场景后调用对应方法!...原创 2022-01-09 14:02:48 · 1457 阅读 · 0 评论 -
基于MySQL binlog日志,实现Elasticsearch近实时同步实践
本文作者本人,首发在 "便利蜂产品技术" 微信公众号。欢迎各位关注。便利蜂校招内推链接:https://app-tc.mokahr.com/m/recommendation-apply/bianlifenghr/8007?sharePageId=9193&recommendCode=NTAANCF&codeType=1&hash=%23%2Frecommendation%2Fpage%2F9193便利蜂社招内推链接:http://bianlifeng.gllue.me/por原创 2021-09-20 11:52:04 · 1238 阅读 · 0 评论 -
Elasticsearch储存地理位置原理—GeoHash实现介绍
背景Elasticsearch是一个分布式的可支持海量数据搜索与分析的搜索引擎,在我们针对地理位置搜索的时候通常会选着使用其中的GEO类型进行存储(包含 geo_shape 和 geo_point两种),那么Elasticsearch是如何优雅的存储地理位置坐标的呢? 这里我们就需要知道一个东西——GeoHash,它是由 Gustavo Niemeyer 于2008年发明的公共领域地理编码系统,将地理位置编码为一小段字母和数字。感知 我们可以随便打开一个具备GeoHash转换...原创 2021-08-19 00:32:11 · 2567 阅读 · 0 评论 -
ElasticSearch学习笔记 | ElasticSearch简介和基本概念
一、什么是 ElasticsearchElasticsearch 是一个分布式的开源搜索和分析引擎,适用于所有类型的数据,包括文本、数字、地理空间、结构化和非结构化数据。Elasticsearch 在 Apache Lucene 的基础上开发而成,由 Elasticsearch N.V.(即现在的 Elastic)于 2010 年首次发布。Elasticsearch 以其简单的 REST 风格 API、分布式特性、速度和可扩展性而闻名,是 Elastic Stack 的核心组件;Elastic St..原创 2021-01-26 15:45:17 · 3131 阅读 · 1 评论 -
Mac安装ElasticSearch教程详细步骤(带安装包)
一、准备工作下载 ElasticSearch7.10.2 安装包,MAC安装包下载地址(无需积分):https://download.youkuaiyun.com/download/qq_20051535/14934248二、解压缩和启动1. 解压压缩包,这个比较简单,放在一个比较方便的目录下开始操作。2. 进入安装目录下bin目录cd elasticsearch-7.10.2/bin3. 启动程序./elasticsearch安装完成,也启动好了,最新版直接就可以成功已经不需要手动原创 2021-01-26 16:42:09 · 2311 阅读 · 0 评论 -
ElasticSearch学习笔记 | PUT、POST增加文档和GET搜索文档
一、catGET _cat/nodes: 查看所有节点GET_cat/health: 查看es健康状况GET_cat/master: 查看主节点GET _cat/indices: 查看所有索引 show databases二、索引一个文档(保存)保存一个数据,保存在哪个索引的哪个类型下,指定用哪个唯一标识,在 customer索引下的 external类型下保存1号数据为PUT customer/external/1{ "name": "JSON ...原创 2021-01-26 17:59:55 · 1731 阅读 · 0 评论 -
ElasticSearch学习笔记 | 更新数据、删除数据和批量操作
一、PUT / POST更新数据POST访问地址(PUT访问提示405方法不允许):http://127.0.0.1:9200/customer/external/1/_updateBody数据:{ "doc":{ "name": "JSON D0oe" }}返回结果:{ "_index": "customer", "_type": "external", "_id": "1", "_version": 6,原创 2021-01-26 20:23:50 · 1730 阅读 · 0 评论 -
ElasticSearch学习笔记 | Match_ALL进阶检索
一、导入测试数据ElasticSearch官方为我们准备了一部分测试数据供调试使用,我们可以在安装完成Kinaba后进行数据导入处理1. 获取数据打开https://github.com/elastic/elasticsearch/blob/master/docs/src/test/resources/accounts.json复制全部数据(点击 Raw 按钮,新页面 Ctrl + A)2. 执行批量添加打开 Kinaba :xxxx:5601/app/dev_tools#/co..原创 2021-01-27 11:26:53 · 11672 阅读 · 0 评论 -
ElasticSearch学习笔记 | Match和Match_phrase匹配搜索
本文测试数据为官方提供的测试数据,导入方法在学习笔记本章节第一篇中:https://blog.youkuaiyun.com/qq_20051535/article/details/113242821一、基本类型(非字符串),精确匹配查询account_number 是 20 的所有结果:GET bank/_search{ "query": { "match": { "account_number": 20 } }}返回内容:{ "took" : 6,.原创 2021-01-27 11:45:41 · 782 阅读 · 1 评论 -
ElasticSearch学习笔记 | Multi_match多字段匹配、bool复合查询
本文测试数据为官方提供的测试数据,导入方法在学习笔记本章节第一篇中:https://blog.youkuaiyun.com/qq_20051535/article/details/113242821一、Multi_match多字段匹配例:查询 address 和 city 中任意一项包含 mill 的结果GET bank/_search{ "query": { "multi_match": { "query": "mill", "fields": ["address"原创 2021-01-27 12:00:41 · 1189 阅读 · 0 评论 -
ElasticSearch学习笔记 | Filter过滤查询
本文测试数据为官方提供的测试数据,导入方法在学习笔记本章节第一篇中:https://blog.youkuaiyun.com/qq_20051535/article/details/113242821布尔查询中的每个must、should和must not元素都称为查询子句。文档满足每个 must 或 should 子句中的标准的程度有助于文档的相关性得分。分数越高,文档就越符合您的搜索条件。默认情况下,Elasticsearch返回按这些相关性得分排序的文档。must_not 子句中的条件被视为 filter。原创 2021-01-27 13:59:49 · 555 阅读 · 0 评论 -
ElasticSearch学习笔记 | Term和Keyword精确查询
本文测试数据为官方提供的测试数据,导入方法在学习笔记本章节第一篇中:https://blog.youkuaiyun.com/qq_20051535/article/details/113242821一、Term查询返回在提供的字段中包含确切信息的文档内容。您可以使用精确的值(例如价格,产品ID或用户名)利用 Term 查询查找文档。比如我们查询年龄是33岁的:GET /bank/_search{ "query": { "term": { "age": 33 }原创 2021-01-27 14:17:28 · 1438 阅读 · 0 评论 -
ElasticSearch学习笔记 | Aggregations执行聚合
本文测试数据为官方提供的测试数据,导入方法在学习笔记本章节第一篇中:https://blog.youkuaiyun.com/qq_20051535/article/details/113242821Aggregations执行聚合聚合提供了从数据中分组和提取数据的能力。最简单的聚合方法大致等于 SQL GROUP BY 和 SQL 聚合函数。在 Elasticsearch 中,您有执行索返回 hits(命中结果),并且同时返回聚合结果,把一个响应中的所有hits(命中结果)隔开的能力。这是非常强大且有效的,您可原创 2021-01-27 15:08:28 · 685 阅读 · 0 评论 -
ElasticSearch学习笔记 | Mapping映射的创建、修改和删除
本文测试数据为官方提供的测试数据,导入方法在学习笔记本章节第一篇中:https://blog.youkuaiyun.com/qq_20051535/article/details/113242821一、查询映射映射是定义文档及其包含的字段的存储和索引方式的过程。例如,使用映射定义:哪些字符串字段应视为全文字段。 哪些字段包含数字,日期或地理位置。 日期值 的格式。 自定义规则,用于控制动态添加字段的映射 。查询bank的映射信息GET /bank/_mapping返回结果:{ "原创 2021-01-27 16:12:32 · 958 阅读 · 0 评论 -
ElasticSearch学习笔记 | 分词、IK分词器和自定义分词
一个 tokenizer(分词器)接收一个字符流,将之割为独立的 tokens(词元,通常是独立的单词),然后输出 tokens流。例如,whitespace tokenizer遇到空白字符时分割文。它会将文本 "Quick brown fox!“ 分割为 [Quick, brown, fox]。该 tokenizer(分词器)还负责记录各个term(词条)的顺序或 position 位置(用于 phrase短语和 word proximity 词近邻查询),以及term(词条)所代表的原始word(单原创 2021-01-27 16:50:10 · 820 阅读 · 0 评论 -
SpringBoot接入ElasticSearch7.10.2详细教程
一、搭建项目目前时间 2021年1月27日 我们将使用当前最新版本ElasticSearch,即7.10.2版本配合SpringBoot搭建,由于新版本只有ElasticSearch官方提供了开发工具,所以我们采用官方工具。我们因为不采用Spring为我们提供的接入方式,下一步填好信息后选择不需要选NoSQL里面任何选项,选一个Web直接一路Next等待完成二、导入Maven<?xml version="1.0" encoding="UTF-8"?><pr.原创 2021-01-27 20:22:43 · 4661 阅读 · 3 评论