ElastcSearch
ElastcSearch 入门到提高
如果没有特别说明,都是使用的7.2版本
小哇666
专注web/大数据
展开
-
Elasticsearch--easy-ES框架使用,轻松操作查询Elasticsearch,简化开发
Easy-Es(简称EE)是一款基于ElasticSearch(简称Es)官方提供的RestHighLevelClient打造的ORM开发框架,在 RestHighLevelClient 的基础上,只做增强不做改变,为简化开发、提高效率而生,您如果有用过Mybatis-Plus(简称MP),那么您基本可以零学习成本直接上手EE,EE是MP的Es平替版,在有些方面甚至比MP更简单,同时也融入了更多Es独有的功能,助力您快速实现各种场景的开发.原创 2024-06-01 17:32:39 · 499 阅读 · 0 评论 -
Elasticsearch---高级搜索 boost控制权重实现搜索结果排名
这种场景就可以用 boost 权重来控制 , 我现在给销售部 加权 ,boost变为 5,技术部默认 boost就是1。我想让 销售部的人 分数较大 优先展示,技术部的人后面展示,分数较小。转载 2024-05-30 12:31:54 · 132 阅读 · 0 评论 -
springboot集成Elasticsearch 控制台打印 dsl语句,方便调试
【代码】springboot集成Elasticsearch 控制台打印 dsl语句,方便调试。原创 2023-12-08 16:43:03 · 2507 阅读 · 0 评论 -
SpringBoot整合SpringDataElasticSearch7.17.7 通过ElasticsearchRestTemplate 完成地理搜索 矩形搜索,附近人搜索, 距离搜索
【代码】SpringBoot整合SpringDataElasticSearch7.17.7 通过ElasticsearchRestTemplate 完成地理搜索 矩形搜索,附近人搜索, 距离搜索。原创 2023-12-08 16:28:00 · 1422 阅读 · 0 评论 -
Spring Data Elasticsearch(版本7.2)增删改查,简单查询,排序,分页等操作
1 pom.xml文件配置<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org原创 2021-01-15 15:11:31 · 1042 阅读 · 0 评论 -
springboot整合ElasticSearch7.17.7 搜索引擎入门到实战 23-- ElasticsearchRestTemplate 实现查询建议,如词条检查,⾃动补全等操作
Phrase suggester 就是 phrase 短语建议参数说明注意:teamCityEn的字段的数据类型,必须 为completion以上是Demo,实战如下,实现。原创 2021-01-11 20:37:28 · 348 阅读 · 0 评论 -
ElasticSearch 搜索引擎入门到实战 21-- 之refresh操作
理想的搜索:新的数据一添加到索引中就能搜索到,但是真实情况不是这样的。先添加一个文档,再立刻搜索PUT /nba/_doc/1/_create{ "playName": "哈登", "jerse_no": "13"}GET /nba/_doc/_search?pretty强制刷新,再立刻搜索PUT /nba/_doc/2/_create?refresh{ "playName": "顶起", "jerse_no": "14"}GET /nba/_doc/_s...原创 2021-01-11 20:21:03 · 230 阅读 · 0 评论 -
ElasticSearch 搜索引擎入门到实战 20-- 重建索引
准备工作//删除索引DELETE /nba //新增索引,设置mappingPUT /nba { "mappings": { "properties": { "jerseyNo": { "type": "text" }, "playName": { "type": "text" } } }} //批量导数据POST _bulk{"index":{"_index":"nba","_type":"_doc","_id":"1"}}{"原创 2021-01-11 19:20:47 · 234 阅读 · 0 评论 -
ElasticSearch 搜索引擎入门到实战 22-- 查询出的结果高亮显示
高亮查询POST /nba/_search{ "query": { "match": { "displayNameEn": "james" } }, "highlight": { "fields": { "displayNameEn": {} } }}自定义高亮查询POST /nba/_search{ ...原创 2020-04-08 22:37:02 · 140 阅读 · 0 评论 -
ElasticSearch 搜索引擎入门到实战 19-- 索引别名的使用
别名有什么⽤ 在开发中,随着业务需求的迭代,较⽼的业务逻辑就要⾯临更新甚⾄是重构,⽽对于es来说,为了适应新的业务逻辑,可能就要对原有的索引做⼀些修改,⽐如对某些字段做调整,甚⾄是重建索引。⽽做这些操作的时候,可能会对业务造成影响,甚⾄是停机调整等问题。 由此,es提供了索引别名来解决这些问题。 索引别名就像⼀个快捷⽅式或是软连接,可以指向⼀个或多个索引,也可以给任...原创 2020-04-08 22:20:20 · 455 阅读 · 0 评论 -
ElasticSearch 搜索引擎入门到实战 18-- query_string查询
【代码】ElasticSearch 搜索引擎入门到实战 18-- query_string查询。原创 2020-04-08 17:15:46 · 277 阅读 · 1 评论 -
ElasticSearch 搜索引擎入门到实战 17-- 聚合查询之桶聚合
ES聚合分析聚合分析是数据库中重要的功能特性,完成对⼀个查询的数据集中数据的聚合计算,如:找出某字段(或计算表达式的结果)的最⼤值、最⼩值,计算和、平均值等。ES作为搜索引擎兼数据库,同样提供了强⼤的聚合分析能⼒。 对⼀个数据集求最⼤、最⼩、和、平均值等指标的聚合,在ES中称为指标聚合 ⽽关系型数据库中除了有聚合函数外,还可以对查询出的数据进⾏分组group by,再在组上进⾏指标聚合。在...原创 2020-04-08 16:56:38 · 204 阅读 · 0 评论 -
ElasticSearch 搜索引擎入门到实战 16-- 聚合查询之指标聚合
ES聚合分析聚合分析是数据库中重要的功能特性,完成对⼀个查询的数据集中数据的聚合计算,如:找出某字段(或计算表达式的结果)的最⼤值、最⼩值,计算和、平均值等。ES作为搜索引擎兼数据库,同样提供了强⼤的聚合分析能⼒。 对⼀个数据集求最⼤、最⼩、和、平均值等指标的聚合,在ES中称为指标聚合 ⽽关系型数据库中除了有聚合函数外,还可以对查询出的数据进⾏分组group by,再在组上进⾏指标聚合。在...原创 2020-04-08 15:06:55 · 269 阅读 · 0 评论 -
ElasticSearch 搜索引擎入门到实战 15-- 查询的结果排序
代码关键:在query的同级中,添加Sort,可为数组的形式⽕箭队球员,按打球时间从⼤到⼩排序POST nba/_search{ "query": { "match": { "teamNameEn": "Rockets" } }, "sort": [ { "playYear": { "order": "desc"...原创 2020-04-08 14:14:32 · 144 阅读 · 0 评论 -
ElasticSearch 搜索引擎入门到实战 14-- 布尔查询,关键词bool的使用
布尔查询must (查找名字叫做James的球员)POST /nba/_search{ "query": { "bool": { "must": [{ "match": { "displayNameEn": "james" } }] } }}filter效果同must,但是不打分(查找名字叫做James的球员)...原创 2020-04-08 13:52:43 · 188 阅读 · 0 评论 -
ElasticSearch 搜索引擎入门到实战 13-- 范围查询,关键词range的使用
范围查询 range查找指定字段在指定范围内包含值(⽇期、数字或字符串)的⽂档。查找在nba打了7年到8年以内的球员POST nba/_search{ "query": { "range": { "playYear": { "gte": 7, "lte": 8 } } }}查找1980年到1999年...原创 2020-04-08 10:45:39 · 228 阅读 · 0 评论 -
ElasticSearch 搜索引擎入门到实战 12--term多种查询的使用 term,exists,prefix,wildcard,regexp,ids关键词的使用
单词级别查询这些查询通常⽤于结构化的数据,⽐如:number, date, keyword等,⽽不是对text。也就是说,全⽂本查询之前要先对⽂本内容进⾏分词,⽽单词级别的查询直接在相应字段的反向索引中精确查找,单词级别的查询⼀般⽤于数值、⽇期等类型的字段上Term query 精准匹配查询(查找号码为23的球员)POST /nba/_search{ "query": { ...原创 2020-04-08 10:34:52 · 372 阅读 · 0 评论 -
ElasticSearch 搜索引擎入门到实战 11--各种查询命令学习前的数据准备工作
准备工作1 先删除nba索引2 再新增nba索引,并同时设置索引的映射mapping3 批量导入数据,测试数据在"我的下载中"//删除索引DELETE /nba//新增索引,设置mappingPUT /nba{ "mappings": { "properties": { "birthDay": { "type": "date" ...原创 2020-04-07 23:27:44 · 249 阅读 · 0 评论 -
ElasticSearch 搜索引擎入门到实战 10--bulk批处理增删改-------
基于bulk的增删改 bulk语法:delete:删除一个文档,只要1个json串就可以了 create:相当于执行命令 PUT /index/type/id/_create,强制创建 index:普通的put操作,可以是创建文档,也可以是全量替换文档 update:执行的partial update操作注意点: 1、bulk api对json的语法有严格的要求,除了del...原创 2020-04-07 22:36:45 · 264 阅读 · 0 评论 -
Kibana安装方法,和错误解决办法
软件版本:CentOS 7.4ES 7.6.1版,Filebeat7.6.1版,Kibana7.6.1版本1 安装方法,参考博文linux安装kibana-7.6.1 - 邹阳 - 博客园错误1:[reporting] The Reporting plugin encountered issues launching Chromium in a self-test.You may have trouble generating reports. log [07:16:14.420] [er.原创 2020-04-07 21:47:05 · 715 阅读 · 0 评论 -
ElasticSearch 搜索引擎入门到实战 8--常⻅的字段类型
数据类型核⼼数据类型 复杂数据类型 专⽤数据类型核⼼数据类型字符串 text:⽤于全⽂索引,该类型的字段将通过分词器进⾏分词 keyword:不分词,只能搜索该字段的完整的值 数值型 整数类型 long, integer, short, byte, 浮点类型 double, float, half_float, scaled_float 布尔 - boole...原创 2020-04-07 21:26:35 · 149 阅读 · 0 评论 -
ElasticSearch 搜索引擎入门到实战 7--常见中文分词器IK和拼音pinyin分词器的介绍和使用
分词器版本和ES的版本要一致。原创 2020-04-07 10:32:01 · 411 阅读 · 1 评论 -
ElasticSearch 搜索引擎入门到实战 6--新增索引并同时设置自定义分词器和映射mapping,验证分词的效果
//新增索引并同时设置分词器和映射mappingPUT /my_index{ "settings": { "analysis": { "analyzer": { "my_analyzer": { "type": "whitespace" } } } }, "mappings": { ...原创 2020-04-07 00:02:23 · 293 阅读 · 0 评论 -
ElasticSearch 搜索引擎入门到实战 5--常见的内置分词器使用
什么是分词器将用户输入的一段文本,按照一定逻辑,分析成多个词语的一种工具常用的内置分词器standard analyzersimple analyzerwhitespace analyzerstop analyzerlanguage analyzerpattern analyzerstandard analyzer标准分词器,是默认分词器,如果未指定,则使用该分词器 。...原创 2020-04-06 23:43:01 · 167 阅读 · 0 评论 -
ElasticSearch 搜索引擎入门到实战 4--文档简单搜索
先准备好数据PUT /nbaput /nba/_mapping{ "properties": { "name": { "type": "text" }, "team_name": { "type": "text" }, "position": { "type": "text" }, "pla...原创 2020-04-06 23:03:48 · 259 阅读 · 0 评论 -
ElasticSearch 搜索引擎入门到实战 3--文档增删改查
新增文档用put并指定id,为防止覆盖已存在的文档,可以通过_create加以限制或 用post,不指定id,会自动创建idput方式操作PUT /nba/_doc/1{ "name": "哈登", "team_name": "⽕火箭", "position": "得分后卫", "play_year": "10", "jerse_no": "13"}或PUT /...原创 2020-04-06 17:51:13 · 211 阅读 · 0 评论 -
ElasticSearch 搜索引擎入门到实战 2--映射mapping基本操作
为某个索引新增映射PUT /nba/_mapping{ "properties": { "name": { "type": "text" }, "team_name": { "type": "text" }, "position": { "type": "keyword" }, "play_ye...原创 2020-04-06 15:52:20 · 155 阅读 · 0 评论 -
ElasticSearch 搜索引擎入门到实战1--索引基本操作
新增索引PUT /nba获取索引get /nba删除索引delete /nba批量获取索引GET /nba,nbb获取所有的索引GET _all或GET _cat/indices?v关闭指定的索引post /nba/_close执行完成以后,再获取索引,可发现"verified_before_close" : "true",就表示索引已经关闭了打开指定的索引post /nb...原创 2020-04-06 15:25:19 · 189 阅读 · 0 评论 -
Elasticsearch入门 核心概念概述
索引(index)一个索引可以理理解成一个关系型数据库。类型(type)一种type就像一类表,比如user表,order表。注意:ES 5.x中一个index可以有多种type。ES 6.x中一个index只能有一种type。 ES 7.x以后已经移除type这个概念。映射(mapping)mapping定义了了每个字段的类型等信息。相当于关系型数据库中的表结构。文档(document)一...原创 2020-04-06 14:17:17 · 144 阅读 · 0 评论 -
springboot整合Elasticsearch5.6最基础入门
Elasticsearch基本概念mysql:database(数据库) table(表) rocord(记录) es : index type(只能存在一个) document1 添加maven依赖 <de...原创 2020-04-04 15:49:48 · 1217 阅读 · 0 评论 -
安装 ElastcSearch 常见问题
1、问题一 Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000c5330000, 986513408, 0) failed; error='Cannot allocate memory' (errno=12) # # The...原创 2020-04-04 15:24:58 · 220 阅读 · 0 评论