当前位置: 首页 > article >正文

Elasticsearch操作笔记版

文章目录

      • 1.ES索引库操作(CRUD)
        • 1.mapping常见属性(前提)
        • 2.创建索引库
        • 3.查询,删除索引库
        • 4.修改索引库
      • 2.ES文档操作(CRUD)
        • 1.新增文档
        • 2.查询、删除文档
          • 查询返回的数据解读:
        • 3.修改文档
      • 3.RestClient操作(索引库/文档)(CRUD)
        • 1.什么是RestClient
        • 2.需要考虑前提条件(mapping的设计)
        • 3.初始化JavaRestClient
        • 4.JavaRestClient(索引库)操作
          • 1.创建索引库
          • 2.删除索引库、判断是否存在
          • OOO索引操作步骤总结
        • 5.JavaRestClient(文档)操作
          • 1.创建文档
          • 2.查询文档
          • 3.更新文档
          • 4.删除文档
          • OOO文档操作步骤总结
          • 5.批量导入数据
      • 4.Elasticsearch搜索功能
        • 1.DSL查询语法
          • 返回的结果解读:
        • 2.全文检索查询(3种)
          • 1.match_all(查询所有)
          • 2.match(推荐)单字段
          • 3.multi_match(多字段)
        • 3.精确查询(2种)
          • 1.term(精确查询)
          • 2.range(范围查询)
        • 4.地理查询(2种)
        • 5.复合查询(2种)
          • 1.相关性算分
            • function score query
          • 2.Boolean Query(4种)
        • 5搜索结果处理
          • 1.排序
          • 2.分页
          • 3.高亮
        • 总结:(4种查询,一种返回)
      • 5.RestClient查询文档
        • 1.match_all
        • 2.match、multi_match
        • 3.term、range
        • 4.复合查询
          • bool query
          • function score query
        • 5.分页和排序
          • 距离排序(地理坐标)
        • 6.高亮highLight
          • 结果解析
          • 代码示例
        • 总结:查询的基本步骤

1.ES索引库操作(CRUD)

1.mapping常见属性(前提)

type地理坐标类型:例如酒店在地图上是一个点就用"type":“geo_point”

2.创建索引库

创建:PUT /索引库名

需要进行分词的属性需要指定分词器,不需要创建索引的属性指定index为false

3.查询,删除索引库

查:GET /索引库名

删:DELETE /索引库名

4.修改索引库

修改:PUT /索引库名/_mapping

只能在原有的基础上添加,无法修改,修改即报错

2.ES文档操作(CRUD)

1.新增文档

POST /索引库名/_doc/文档id

_doc是默认写法

文档id默认是keyword类型,

2.查询、删除文档

查询:GET /索引库名/_doc/文档id

查询返回的数据解读:

_version:版本,主要是指修改了的次数,_source:插入的原始文档

删除:DELETE /索引库名/_doc/文档id

3.修改文档

全量修改:PUT /索引库名/ _doc/文档id

增量修改:POST /索引库名/ _update/文档id

3.RestClient操作(索引库/文档)(CRUD)

1.什么是RestClient

我们重点学习使用Java High Level REST Client(<font style="color:rgb(0, 0, 0);">Java高级REST客户端</font>

2.需要考虑前提条件(mapping的设计)

3.初始化JavaRestClient

<font style="color:#DF2A3F;">注意步骤二</font>

<font style="color:#DF2A3F;">步骤三可以指定多个地址</font>

4.JavaRestClient(索引库)操作
1.创建索引库

MAPPING_TEMPLATE就是mapping创建的语句,这里用常量封装了

2.删除索引库、判断是否存在

用完了也需要销毁client客户端

OOO索引操作步骤总结

5.JavaRestClient(文档)操作
1.创建文档

2.查询文档

最后需要反序列化

3.更新文档

4.删除文档

OOO文档操作步骤总结

5.批量导入数据

就是循环添加多次 IndexRequest(请看创建文档部分)

4.Elasticsearch搜索功能

中文文档:https://docs.kilvn.com/elasticsearch/docs/15.html

1.DSL查询语法

返回的结果解读:

2.全文检索查询(3种)

1.match_all(查询所有)

2.match(推荐)单字段

要把copy_to拷到一个字段

全文检索查询的一种,会对用户输入内容分词,然后去倒排索引库检索

3.multi_match(多字段)

与match查询类似,只不过允许同时查询多个字段

3.精确查询(2种)

1.term(精确查询)

2.range(范围查询)

+e是等于的意思

4.地理查询(2种)

5.复合查询(2种)

复合(compound)查询:复合查询可以将其它简单查询组合起来,实现更复杂的搜索逻辑

1.相关性算分

function score query

weight10分乘以原来的分数就是multiply的加权模式

2.Boolean Query(4种)

must_not / filter不参与算分

5搜索结果处理
1.排序

order是排序的属性,当属性只有一个的时候就可以像图1一样省略不写

2.分页

elasticsearch 默认情况下只返回top10的数据。而如果要查询更多数据就需要修改分页参数了

3.高亮

就是在搜索结果中把搜索关键字突出显示。

搜索字段与高亮字段要一致,不一致添加require_field_match属性

查看返回结果highlight就能看到高亮字段

总结:(4种查询,一种返回)

5.RestClient查询文档

1.match_all

<font style="color:#DF2A3F;">解析结果</font>

代码解析

2.match、multi_match

3.term、range

4.复合查询
bool query

function score query

5.分页和排序

距离排序(地理坐标)

6.高亮highLight

结果解析

代码示例

总结:查询的基本步骤


http://www.kler.cn/a/469404.html

相关文章:

  • DeepSeek重新定义“Open“AI
  • SUB输入5V升压充电16.8V芯片HU5912
  • 如何使用脚手架工具开始,快速搭建一个 Express 项目的基础架构
  • 3 抢红包系统
  • 用opencv实现像素统计
  • SAP SD销售模块常见BAPI函数
  • HarmonyOS学习大纲
  • 2.5万字 - 用TensorFlow和PyTorch分别实现五种经典模型
  • Go语言的 的接口(Interfaces)核心知识
  • 优雅草采集器系统全面开源-优雅草YYC采集器系统不同版本的合集整体开源yyc-gather-采集器开源-优雅草央千澈
  • centos7安装elasticsearch8.17
  • 智能运维分析决策系统:赋能数字化转型的新引擎
  • 【Stable Diffusion】用AI给老照片上色,岁月不改它模样
  • 计算机网络——数据链路层-介质访问控制
  • Java面试要点113 - Java异步编程CompletableFuture
  • github开源链游详细搭建文档
  • 类的定义和使用(python)
  • 电路学习之前言
  • 如何从HTML文件中提取所需数据
  • 第六讲 比特币的机构化进程
  • 超越局部损失函数的预测-优化方法
  • 基于SPring Boot的高校就业招聘系统设计与实现(LW+源码+讲解)
  • 我的创作纪念日——《惊变128天》
  • webapi+vue3实现前后端图片传输
  • python pyqt5+designer的信号槽和动态显示
  • ArcGIS Server 10.2授权文件过期处理