docker 方式 elasticsearch 8.13 简单例子

安装 docker

虚拟机安装 elastic search

安装本地

# 创建 elastic 的网络
docker network create elastic
# 用镜像的方式创建并启动容器
docker run -d --name es --net elastic -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e "xpack.security.enabled=false" -t docker.elastic.co/elasticsearch/elasticsearch:8.13.3

如果安装不成功,报如下的错误

ERROR: Elasticsearch exited unexpectedly, with exit code 78

修改 /etc/sysctl.conf
在文件最后添加一行
vm.max_map_count=262144
使配置生效

sysctl -p

访问 9200,如果出现如下界面,表示成功
在这里插入图片描述

spring boot 的例子

依赖引入

 <dependency><groupId>co.elastic.clients</groupId><artifactId>elasticsearch-java</artifactId><version>8.13.3</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.17.0</version></dependency>

配置 es config

@Configuration
public class ESConfig {private String serverUrl = "http://192.168.236.128:9200";private String apiKey = "11";@Beanpublic ElasticsearchClient getClient(){// Create the low-level clientRestClient restClient = RestClient.builder(HttpHost.create(serverUrl)).setDefaultHeaders(new Header[]{new BasicHeader("Authorization", "ApiKey " + apiKey)}).build();// Create the transport with a Jackson mapperElasticsearchTransport transport = new RestClientTransport(restClient, new JacksonJsonpMapper());// And create the API clientElasticsearchClient esClient = new ElasticsearchClient(transport);return  esClient;}
}

编写测试用例

@SpringBootTest
class DemoApplicationTests {private Logger logger = LoggerFactory.getLogger(DemoApplicationTests.class);@Autowiredprivate ElasticsearchClient esClient;private String index = "request_log";@Testpublic void test() throws IOException {
//        esClient.indices().create(c -> c.index("request_log"));}@Testpublic void addData() throws IOException {for (int j = 0; j < 1000; j++) {RequestLog log = createRandomLog();esClient.index(i -> i.index(index).id(log.getId()).document(log));}}@Testpublic void searchId() throws IOException {GetResponse<RequestLog> response = esClient.get(r -> r.index(index).id("75e18fb1-7efb-4ff7-b9eb-18de4eefea02"), RequestLog.class);logger.info("response {}",response);if(response.found()){RequestLog source = response.source();logger.info("response source {}",source);}else{logger.info("not get source");}}private RequestLog createRandomLog() {Random random = new Random();String[] appKey= {"a1111","b2222","c3333","c4444"};String[] name = {"中国公司","美国公司","法国公司","印度公司"};String[] msg = {"success","error","warn"};RequestLog log = new RequestLog();log.setAppKey(appKey[random.nextInt(appKey.length)]);log.setId(UUID.randomUUID().toString());log.setName(name[random.nextInt(name.length)]);log.setTtl(random.nextInt(1000));log.setResponse(msg[random.nextInt(msg.length)]);log.setCreateDate(new Date());return log;}@Testpublic void testSearchDocument() throws IOException {
//        SearchRequest fuzzQuery= new SearchRequest.Builder().index(index).query(b -> b.fuzzy(t -> t.field("name").value("dd"))).build() ;SearchRequest matchQuery = new SearchRequest.Builder().index(index).from(3).size(2000).query(b -> b.match(t -> t.field("name").fuzziness("1").query("公司"))).build() ;SearchResponse<RequestLog> response = esClient.search(matchQuery, RequestLog.class);for (Hit<RequestLog> hit : response.hits().hits()) {RequestLog source = hit.source();System.out.println(source);}}
}

应该都是可以执行的,问题不大

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

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

相关文章

API开发淘宝(京东)API接口:获取淘宝京东等平台数据的api接口分享

接口应用场景——电商产品定价 电商平台产品的定价问题是很多品牌非常重视的一个问题&#xff0c;产品的定价取决于很多因素&#xff0c;包括成本、供需情况、促销策略及竞争对手的价格等。因此&#xff0c;想要更合理地定价&#xff0c;品牌需要获取到影响产品定价的各类数据&…

【Linux】17. 进程间通信 --- 管道

1. 什么是进程间通信(进程间通信的目的) 数据传输&#xff1a;一个进程需要将它的数据发送给另一个进程 资源共享&#xff1a;多个进程之间共享同样的资源。 通知事件&#xff1a;一个进程需要向另一个或一组进程发送消息&#xff0c;通知它&#xff08;它们&#xff09;发生了…

团队执行力差,多半都是管理的问题

在日常管理中&#xff0c;我们习惯用“执行力好不好”来评价一个团队的表现&#xff0c;但实际上&#xff0c;执行力更应该是一个管理者需要思考和解决的问题&#xff0c;而非单纯归咎于团队。 我们需要明确一点&#xff1a;执行力不是团队的问题&#xff0c;而是管理者的问题…

比亚迪CAN数据实时监控分析应用数字化差异化的决策价值洞察

在当今这个信息化飞速发展的时代&#xff0c;汽车数字化转型已成为企业持续竞争力的关键。中国新能源汽车行业的领军企业——比亚迪&#xff0c;其数字化之旅充分展现了企业的创新精神和对未来的深远洞察。 比亚迪的数字化战略不是简单的技术应用&#xff0c;而是一场深刻的商…

C++奇迹之旅:string类对象的容量操作

文章目录 &#x1f4dd; string类的常用接口&#x1f309; string类对象的容量操作&#x1f320;size&#x1f320;length&#x1f320;capacity&#x1f320;clear&#x1f320;empty&#x1f320;reserve&#x1f309;resize &#x1f6a9;总结 &#x1f4dd; string类的常用…

大数据集成平台建设方案-word原件资料

基础支撑平台主要承担系统总体架构与各个应用子系统的交互&#xff0c;第三方系统与总体架构的交互。需要满足内部业务在该平台的基础上&#xff0c;实现平台对于子系统的可扩展性。基于以上分析对基础支撑平台&#xff0c;提出了以下要求&#xff1a; (1) 基于平台的基础架构&…

【优选算法】——Leetcode——611. 有效三角形的个数

目录 ​编辑 1.题目 2 .补充知识 3.解法⼀&#xff08;暴⼒求解&#xff09;&#xff08;可能会超时&#xff09;&#xff1a; 算法思路&#xff1a; 算法代码&#xff1a; 4.解法⼆&#xff08;排序双指针&#xff09;&#xff1a; 算法思路&#xff1a; 以输入: nums …

多个glibc库存在时如何查看ldd调用的哪个

但是发现存在多个版本的glibc版本&#xff0c;需要查看具体的库的信息&#xff0c;和相应的关键函数的信息&#xff0c;但是并不知道具体的libc.so.6的路径信息 rootalg-dev04:~/xingqiao# ldd --version ldd (GNU libc) 2.29 rootalg-dev04:/opt# which ldd /usr/local/bin/…

硬件基础——晶振(复试被问到)

1.什么是晶振 石英晶体振荡器&#xff0c;是芯片的心脏&#xff0c;主要用于提供给芯片稳定、精确的时钟频率信号。其主要利用石英晶体的压电效应&#xff0c;从而实现振荡。 一般晶振会在芯片的旁边&#xff0c;不能远离晶振&#xff0c;因为振荡时会受外界电磁干扰的影响。 我…

LLM——大语言模型完整微调策略指南

1、 概述 GPT-4、LaMDA、PaLM等大型语言模型&#xff08;LLMs&#xff09;以其在广泛主题上的深入理解和生成高度类人文本的能力而闻名遐迩&#xff0c;它们在全球范围内引起了广泛关注。这些模型的预训练过程涉及对来自互联网、书籍和其他来源的数十亿词汇的海量数据集进行学…

如何阅读:一个已被证实的低投入高回报的学习方法的笔记

系列文章目录 如何有效阅读一本书笔记 如何阅读&#xff1a;一个已被证实的低投入高回报的学习方法 麦肯锡精英高效阅读法笔记 读懂一本书笔记 文章目录 系列文章目录第一章 扫清阅读障碍破解读不快、读不进去的谜题一切为了阅读小学教师让你做&#xff0c;但中学老师阻止你做的…

ffmpeg ubuntu18.04编译报错fcntl64

fcntl&#xff0c;fcntl64均是系统的api提供的文件操作&#xff0c;fcntl64本来是用来解决操作大文件的问题&#xff0c;后面fcntl本身已经解决了这个问题&#xff0c;fcntl64就被舍弃了 系统环境信息&#xff1a; ubuntu 18.04 root# cat /etc/issue Ubuntu 18.04.6 LTS \n…

DLP数据防泄密软件推荐盘点:防泄密软件厂商

数据防泄密软件在当今的数字化时代扮演着至关重要的角色。随着信息技术的迅猛发展&#xff0c;企业、组织乃至个人面临着日益严峻的数据安全挑战。数据防泄密软件应运而生&#xff0c;为信息安全领域筑起了一道坚实的防线。以下是五款备受推崇的数据防泄密软件&#xff0c;它们…

【工具】Office/WPS 插件|AI 赋能自动化生成 PPT 插件测评 —— 必优科技 ChatPPT

本文参加百度的有奖征文活动&#xff0c;更主要的也是借此机会去体验一下 AI 生成 PPT 的产品的现状&#xff0c;因此本文是设身处地从用户的角度去体验、使用这个产品&#xff0c;并反馈最真实的建议和意见&#xff0c;除了明确该产品的优点之外&#xff0c;也发现了不少缺陷和…

[C++基础编程]----预处理指令简介、typedef关键字和#define预处理指令之间的区别

目录 引言 正文 01-预处理指令简介 02-typedef关键字简介 03-#define预处理指令简介 04-#define预处理指令和typedef关键字的区别 &#xff08;1&#xff09;原理不同 &#xff08;2&#xff09;功能不同 &#xf…

IP协议全解析:网络层通信的基石

⭐小白苦学IT的博客主页⭐ ⭐初学者必看&#xff1a;Linux操作系统入门⭐ ⭐代码仓库&#xff1a;Linux代码仓库⭐ ❤关注我一起讨论和学习Linux系统❤ 前言 在数字化时代的浪潮中&#xff0c;网络通信无处不在&#xff0c;它连接着世界的每一个角落&#xff0c;承载着信息的高…

FileLink跨网文件交换的交换方式:满足不同场景下的文件交换需求

FileLink&#xff0c;作为一款创新的文件交换工具&#xff0c;不仅满足了用户在日常生活中对文件传输的需求&#xff0c;更在技术上实现了跨网文件交换的突破。其独特之处在于支持邮件方式投递、文件中转站、网盘模式共享三种交换方式&#xff0c;这使得FileLink能够适应不同场…

3D 交互展示该怎么做?

在博维数孪&#xff08;Bowell&#xff09;平台制作3D交互展示的流程相对简单&#xff0c;主要分为以下几个步骤&#xff1a; 1、准备3D模型&#xff1a;首先&#xff0c;你需要有一个3D模型。如果你有3D建模的经验&#xff0c;可以使用3ds Max或Blender等软件自行创建。如果没…

MySQL中的ON DUPLICATE KEY UPDATE和REPLACE

在 MySQL 中&#xff0c;ON DUPLICATE KEY UPDATE 和 REPLACE 语句都可以用来处理插入数据时主键或唯一键冲突的情况&#xff0c;但它们在处理冲突的方式上有所不同。它们有以下区别&#xff1a; 行为方式&#xff1a; ON DUPLICATE KEY UPDATE&#xff1a;当插入的数据行存在冲…

【智能安防监控补光灯调光芯片方案】单节锂电降压恒流驱动芯片FP8013 最大输出3A体积小/静态功耗低/效率高/支持无频闪调光

文章目录 文章目录 前言 一、pandas是什么&#xff1f; 二、使用步骤 1.引入库 2.读入数据 总结 前言 随着智能安防监控技术的不断发展&#xff0c;补光灯的关键性能也日益受到重视。为了提供更好的夜间监控效果&#xff0c;我们需要一种高效、稳定的调光芯片来驱动补光灯的亮…