项目中使用Elasticsearch的API相关介绍

news2024/9/24 5:30:50

项目中使用Elasticsearch的API相关介绍

0、域映射类型

text:会分词,不支持聚合
	对当前搜索关键词,先自身分词,分成多个词,然后去一个一个的词去利用倒排索引去查询es索引库
	一般应用在搜索关键字匹配的字段的类型。 商品的title,name。

keyword:不会分词,将全部内容作为一个词条,支持聚合
	对当前关键字不进行分词,输入的是“华为手机”,就只查包含有华为手机的词
	一般应用在搜索商品的属性的时候,可以用keyword作为类型。
	

1、bulk操作

示例:

restHighLevelClient.bulk(bulKRequest, RequestOptions.DEFAULT);

bulk表示批处理,进行批量新增,批量修改,批量删除等操作的API

bulk方法中有两个参数

  • 参数1表示批处理请求,-------查看2
  • 参数2表示默认请求选项,直接默认即可

2、BulkRequest类

示例:

BulkRequest bulKRequest=new BulkRequest("app_info_article");
 IndexRequest indexRequest=new IndexRequest().id(xxx).source(JSON.toJSONString(xx), XContentType.JSON);
bulKRequest.add(indexRequest);

BulkRequest表示批处理请求类,其本质就是将多个普通的CRUD请求组合在一起发送。

其中提供了一个add方法,用来添加其他请求:

在这里插入图片描述

可以看到,能添加的请求包括:

  • IndexRequest,也就是新增
  • UpdateRequest,也就是修改
  • DeleteRequest,也就是删除

3、search操作

示例:

highLevelClient.search(searchRequest, RequestOptions.DEFAULT);

表示从es中搜索查询的api方法

其中有两个参数:

  • 参数1表示搜索请求对象,------查看4
  • 参数2表示默认请求选项,直接默认即可

4、SearchReuqest对象类

示例:

SearchRequest searchRequest=new SearchRequest("app_info_article");

该对象表示用于与搜索文档、聚合、定制查询有关的任何操作,还提供了在查询结果的基于上,对于匹配的关键词进行突出显示的方法。

参数表示指定索引库名称

该参数是一个不定长的参数,表示可以操作多个索引库。

SearchRequest提供了source方法,用来进行聚合查询条件

searchRequest.source(searchsourceBuilder);

5、SearchSourceBuilder对象类

示例:

 SearchSourceBuilder searchsourceBuilder=new SearchSourceBuilder();

SearchSourceBuilder表示搜索内容参数设置对象,此类用来设置查询条件

该类下包含很多方法其中包含:

  • query 查询方法
searchSourceBuilder.query(boolQueryBuilder);
  • highlighter 高亮方法
  HighlightBuilder highlightBuilder=new HighlightBuilder();
            highlightBuilder.field("title");
            highlightBuilder.preTags("<font style='color: red; font-size: inherit;'>");
            highlightBuilder.postTags("</font>");
searchSourceBuilder.highlighter(highlightBuilder);
  • sort 排序方法
 searchSourceBuilder.sort("publishTime", SortOrder.DESC);
  • from和size 分页方法
 searchSourceBuilder.from(0);
 searchSourceBuilder.size(dto.getPageSize());

6、BoolQueryBuilder对象类

示例:

 BoolQueryBuilder query=QueryBuilders.boolQuery();
 QueryStringQueryBuilder queryBuilder = QueryBuilders.queryStringQuery(dto.getSearchWords())
                    .field("title")
                    .field("content")
                    .defaultOperator(Operator.OR);
 query.must(queryBuilder);

表示创建布尔查询构建类。

布尔查询是一个或多个查询子句的组合,每一个子句就是一个子查询。子查询的组合方式有:

  • must:必须匹配每个子查询,类似“与”
  • should:选择性匹配子查询,类似“或”
  • must_not:必须不匹配,不参与算分,类似“非”
  • filter:必须匹配,不参与算分

7、queryStringQuery操作

示例:

 QueryStringQueryBuilder queryBuilder = QueryBuilders.queryStringQuery(dto.getSearchWords())
                    .field("title")
                    .field("content")
                    .defaultOperator(Operator.OR);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1678069.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何解决 CentOS 双网卡配置的内外网通信问题?

&#x1f42f; 如何解决 CentOS 双网卡配置的内外网通信问题&#xff1f;&#x1f43e; 博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的…

Spring学习①__Spring初识

Spring Spring初识一、框架二、Spring&#xff08;春天&#xff09;简介Spring官网Spring是什么?Spring介绍拓展 Spring初识 一、框架 ​框架就是一些类和接口的集合&#xff0c;通过这些类和接口协调来完成一系列的程序实现。 JAVA框架可以分为三层&#xff1a; 表示层业务…

【网络安全】【Frida实战案例】某图xx付费功能逆向分析(二)

文章目录 一、目标应用二、环境三、步骤1、重打包2、运行打包后apk3、找到签名信息&#xff08;1&#xff09;、查看apk签名信息&#xff08;2&#xff09;、hook Android方法获取apk签名信息&#xff08;3&#xff09;、转为md5验证 4、hook apk签名信息 四、总结五、相关源码…

【稳定检索|投稿优惠】2024年医学、药学与生物工程国际会议(ICMPB 2024)

2024年医学、药学与生物工程国际会议&#xff08;ICMPB 2024&#xff09; 2024 International Conference on Medicine, Pharmacy, and Biotechnology 【会议简介】 2024年医学、药学与生物工程国际会议将于长沙召开。此次会议将汇聚全球医学、药学与生物工程领域的顶尖学者…

【BOSS直聘爬取系统功能介绍】

完整代码关注公众号 &#xff1a; 爬取网站&#xff1a;BOSS直聘&#xff1a;https://www.zhipin.com/ 难点 1. boss直聘不论什么岗位都只会展示10页数据&#xff0c;就算在网页里加到了11&#xff0c;内容也会和10一样。 2.多次访问会有验证码需要登录&#xff0c;这部分需…

香港电讯高效网络,助力新消费品牌抓住拓展香港市场新风口

自今年初香港与内地全面恢复通关&#xff0c;两地同胞跨境消费热潮持续升温。港人“北上”消费掀起风潮的同时&#xff0c;香港市场也成为内地新消费品牌拓展的热门目标。从糕点、茶饮、连锁餐饮到服饰&#xff0c;越来越多内地品牌进驻香港。新消费品牌要想在香港开设门店&…

jdk安装多个版本,但是java -version显示最早安装的版本,换掉Path或者JAVA_HOME不生效问题

问题一&#xff1a;当你的电脑上又多个jdk版本&#xff0c;如17 或者8时&#xff0c;使用命令行 java -version显示最早安装的&#xff0c;如下图所示&#xff1a;环境变量配置的17&#xff0c;但是命令行显示的是8。 原因&#xff1a;windows电脑装jdk17后 会在你的环境变量…

【吊打面试官系列】Java高并发篇 - 并发编程三要素?

大家好&#xff0c;我是锋哥。今天分享关于 【并发编程三要素&#xff1f;】面试题&#xff0c;希望对大家有帮助&#xff1b; 并发编程三要素&#xff1f; 1、原子性 原子性指的是一个或者多个操作&#xff0c;要么全部执行并且在执行的过程中不被其他操作打断&#xff0c;要…

2024年5月18日(星期六)骑行香杆箐

2024年5月18日 (星期六&#xff09;骑行香杆箐&#xff0c;早8:30到9:00&#xff0c;郊野公园西门集合&#xff0c;9:30准时出发【因迟到者&#xff0c;骑行速度快者&#xff0c;可自行追赶偶遇。】 偶遇地点:郊野公园西门集合 &#xff0c;家住东&#xff0c;西&#xff0c;南…

字节跳动发布豆包大模型,主力模型比行业价格低99.3%

5月15日&#xff0c;字节跳动豆包大模型在火山引擎原动力大会上正式发布。火山引擎是字节跳动旗下云服务平台&#xff0c;据火山引擎总裁谭待介绍&#xff0c;经过一年时间的迭代和市场验证&#xff0c;豆包大模型正成为国内使用量最大、应用场景最丰富的大模型之一&#xff0c…

Chromium 调试指南2024 Windows11篇-条件断点、函数断点(十一)

1. 前言 在调试过程中&#xff0c;步进代码和条件断点/函数断点是非常有用的工具和技术&#xff0c;它们可以帮助开发者更加精确地定位和解决问题。本文将介绍步进代码的常用工具以及条件断点/函数断点的设置方法&#xff0c;帮助开发者更加高效地进行调试工作。 2. 步进代码…

MySQL创建索引报错 Specified key was too long;max key length is 1000 bytes.

MySQL对创建索引的大小有限制&#xff0c;一般索引键最大长度总和不能超过1000个字节。 问题描述 MySQL创建索引时报错 Specified key was too long;max key length is 1000 bytes. 解决办法 (1) 修改存储引擎 InnoDB的索引字段长度限制大于MyISAM&#xff0c;可以尝试改成…

欧拉公式的讲解

啊&#xff0c;哈喽&#xff0c;小伙伴们大家好。我是#张亿&#xff0c;今天呐&#xff0c;学的是欧拉公式 在不同的学科中有着不同的含义和应用。在复变函数中&#xff0c;欧拉公式表述为e^(ix)(cos xisin x)&#xff0c;其中e是自然对数的底&#xff0c;i是虚数单位&#x…

Springboot+Vue项目-基于Java+MySQL的制造装备物联及生产管理ERP系统(附源码+演示视频+LW)

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;Java毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计 &…

Linux连接文件那点事

什么是连接文件 将一个文件和另一个文件建立联系&#xff0c;分为硬链接和软连接&#xff08;符号连接&#xff09;。 硬链接 Linux中&#xff0c;所有的文件都有一个inode&#xff0c;这个东西就是文件的ID号&#xff0c;硬链接的方式就是通过这个inode来产生新的文件名来建…

盘点那些年我们一起玩过的网络安全工具

一、反恶意代码软件 1.Malwarebytes 这是一个检测和删除恶意的软件&#xff0c;包括蠕虫&#xff0c;木马&#xff0c;后门&#xff0c;流氓&#xff0c;拨号器&#xff0c;间谍软件等等。快如闪电的扫描速度&#xff0c;具有隔离功能&#xff0c;并让您方便的恢复。包含额外…

xilinx fpga bit流文件转成bin/mcs/hex文件的tcl语句操作

xilinx fpga bit流文件中包含工程的相关信息以及主体程序的二进制文件&#xff0c;bit文件只能在线加载&#xff0c;掉电丢失。因此需要转成bin/mcs文件&#xff0c;固化到flash中。 此处以转成bin文件为例 vivado2018软件中似乎没有单独将已经生成的bit转成bin文件的小工具&…

QT状态机1-三态循环状态机

#include "MainWindow.h" #include "ui_MainWindow.h"MainWindow::MainWindow(QWidget *parent): QMainWindow(parent)

微调Stable Diffusion生成你专属的毛利兰

最近在研究AIGC&#x1f916;️技术&#xff0c;看了很多微调方法、论文层。但搞技术这么能纸上谈兵呢&#xff1f;今天本柯南迷就想来实践生成美少女小兰&#x1f478; 在这篇文章里&#xff0c;我选用了 textual inversion和dreambooth&#x1f4f7;来做比较&#xff0c;这两…

深度学习之激活函数——ReLU

ReLU 整流线性单元(ReLU)&#xff0c;全称Rectified linear unit&#xff0c;是现代神经网络中最常用的激活函数&#xff0c;大多数前馈神经网络都默认使用该激活函数。 函数表达式 f ( x ) m a x { 0 , x } f(x)max\{0,x\} f(x)max{0,x} 当 x < 0 x<0 x<0时&…