万网主机怎么上传网站吗网站建设的简历制作

news/2025/10/1 12:22:01/文章来源:
万网主机怎么上传网站吗,网站建设的简历制作,wordpress视频api,安卓开发助手在我之前的文章 “Elasticsearch#xff1a;对 Java 对象的 ES|QL 查询”#xff0c;我详细介绍了如何使用 Java 来对 ES|QL 进行查询。对于不是很熟悉 Elasticsearch 的开发者来说#xff0c;那篇文章里的例子还是不能单独来进行运行。在今天的这篇文章中#xff0c;我来详… 在我之前的文章 “Elasticsearch对 Java 对象的 ES|QL 查询”我详细介绍了如何使用 Java 来对 ES|QL 进行查询。对于不是很熟悉 Elasticsearch 的开发者来说那篇文章里的例子还是不能单独来进行运行。在今天的这篇文章中我来详细地介绍如何把那个例子跑起来。更多关于 ES|QL 的动手实践请阅读文章 “ElasticsearchES|QL 查询展示”。 为了说明方便我把所有的代码放在地址 GitHub - liu-xiao-guo/elasticsearch-java-esql 以方便大家学习。这是一个 Maven 的项目。我们可以使用如下的命令来进行克隆 git clone https://github.com/liu-xiao-guo/elasticsearch-java-esql 准备工作 Elasticsearch 及 Kibana 安装 如果你还没有安装好自己的 Elasticsearch 及 Kibana请参考如下的链接来进行安装 如何在 LinuxMacOS 及 Windows 上进行安装 ElasticsearchKibana如何在 LinuxMacOS 及 Windows上安装 Elastic 栈中的 Kibana 在安装的时候我们选择 Elastic Stack 8.x 来进行安装。特别值得指出的是ES|QL 只在 Elastic Stack 8.11 及以后得版本中才有。你需要下载 Elastic Stack 8.11 及以后得版本来进行安装。 在首次启动 Elasticsearch 的时候我们可以看到如下的输出 我们记下这个密码在如下的配置中进行使用。 准备数据集 我们的数据集非常简单。我从之前的文章中下载了文章里的数据集但是我发现数据集中字段和文章里的字段并不相同而且那个 year 定义为 integer但是下载数据集里的数据其实是一个 date 类型的数据。为了说明问题我们也不需要那么多的数据。我从中挑出了10个数据并把数据集置于链接。 在我们克隆完项目的时候我们可以看到 $ pwd /Users/liuxg/java/elasticsearch-java-esql $ ls pom.xml sample.csv src 这里的 sample.csv 就是我们所需要的数据集。我们的一条数据是这样的。 为了方便我们把它的字段重新命令为 title,description,authors,image,previewLink,publisher,year,infoLink,categories,ratings 如下是一条示例文档 Its Only Art If Its Well Hung!,,[Julie Strain],http://books.google.com/books/content?idDykPAAAACAAJprintsecfrontcoverimg1zoom1sourcegbs_api,http://books.google.nl/books?idDykPAAAACAAJdqItsOnlyArtIfItsWellHung!hlcd1sourcegbs_api,,1996,http://books.google.nl/books?idDykPAAAACAAJdqItsOnlyArtIfItsWellHung!hlsourcegbs_api,[Comics Graphic Novels], 配置项目 为了能够使得项目能够正常运行我们必须配置如下的 application.conf 文件 $ pwd /Users/liuxg/java/elasticsearch-java-esql $ tree -L 10 . ├── http_ca.crt ├── pom.xml ├── sample.csv └── src├── main│   ├── java│   │   └── com│   │   └── example│   │   └── esql│   │   ├── Book.java│   │   └── EsqlArticle.java│   └── resources│   └── application.conf└── test└── javaapplication.conf server-urlhttps://localhost:9200 api-keyNTdYSFBJOEJ6TnJzZHhPZ0xDcGQ6Y09hYTFzZDVRLUtSVHVVZWVaOEJKdw csv-file/Users/liuxg/java/elasticsearch-java-esql/sample.csv cert_path/Users/liuxg/elastic/elasticsearch-8.13.2/config/certs/http_ca.crt 如上所示我们需要根据自己的设置进行配置。我们需要填入 Elasticsearch 的访问地址sample.csv 的路径及 Elasticsearch 的证书。我们需要申请一个 API key 来访问 Elasticsearch 至此我们的配置就基本完成了。 代码解读 写入文档 首先我们根据 csv 格式的字段创建了如下的一个 Book.java 类 Book.java package com.example.esql;import java.util.Date;public record Book(String title,String description,String author,String image,String previewLink,String publisher,Integer year,String infoLink,String categories,Float ratings) {} 它分别对应于 csv 示例文档中的各个字段。 接下来我们来阅读 EsqlArticle.java 文件。我们首先读出在 application.conf 文件中的配置 String dir System.getProperty(user.dir);System.out.println(dir);Properties prop new Properties();Path path Paths.get(dir, src, main, resources, application .conf);prop.load(new FileInputStream(path.toString()));String serverUrl prop.getProperty(server-url);String apiKey prop.getProperty(api-key);String csvPath prop.getProperty(csv-file);String certPath prop.getProperty(cert_path);System.out.println(serverUrl: serverUrl);System.out.println(apiKey: apiKey);System.out.println(csvPath: csvPath);System.out.println(certPath: certPath);输出结果 serverUrl: https://localhost:9200 apiKey: NTdYSFBJOEJ6TnJzZHhPZ0xDcGQ6Y09hYTFzZDVRLUtSVHVVZWVaOEJKdw csvPath: /Users/liuxg/java/elasticsearch-java-esql/sample.csv certPath: /Users/liuxg/elastic/elasticsearch-8.13.2/config/certs/http_ca.crt 我们接下来创建 Elasticsearch 访问客户端 Path caCertificatePath Paths.get(certPath);CertificateFactory factory CertificateFactory.getInstance(X.509);Certificate trustedCa;try (InputStream is Files.newInputStream(caCertificatePath)) {trustedCa factory.generateCertificate(is);}KeyStore trustStore KeyStore.getInstance(pkcs12);trustStore.load(null, null);trustStore.setCertificateEntry(ca, trustedCa);SSLContextBuilder sslContextBuilder SSLContexts.custom().loadTrustMaterial(trustStore, null);final SSLContext sslContext sslContextBuilder.build();RestClient restClient RestClient.builder(HttpHost.create(serverUrl)).setDefaultHeaders(new Header[]{new BasicHeader(Authorization, ApiKey apiKey)}).setHttpClientConfigCallback(new RestClientBuilder.HttpClientConfigCallback() {Overridepublic HttpAsyncClientBuilder customizeHttpClient(HttpAsyncClientBuilder httpAsyncClientBuilder) {return httpAsyncClientBuilder.setSSLContext(sslContext);}}).build();System.out.println(restClient.isRunning());ObjectMapper mapper JsonMapper.builder().build();JacksonJsonpMapper jsonpMapper new JacksonJsonpMapper(mapper);ElasticsearchTransport transport new RestClientTransport(restClient, jsonpMapper);ElasticsearchClient client new ElasticsearchClient(transport); 由于我们的部署是自签名的我们需要使用 Elasticsearch 的证书。 我们接下来删除 books 索引如果它已经存在的话 final String INDEX_NAME books;// Delete the index if it existsif (client.indices().exists(ex - ex.index(INDEX_NAME)).value()) {client.indices().delete(d - d.index(INDEX_NAME));} 我们接下来创建 books 索引的 mappings if (!client.indices().exists(ex - ex.index(INDEX_NAME)).value()) {client.indices().create(c - c.index(INDEX_NAME).mappings(mp - mp.properties(title, p - p.text(t - t)).properties(description, p - p.text(t - t)).properties(author, p - p.text(t - t)).properties(image, p - p.text(t - t)).properties(previewLink, p - p.text(t - t)).properties(publisher, p - p.text(t - t)).properties(year, p - p.short_(s - s)).properties(infoLink, p - p.text(t - t)).properties(categories, p - p.text(t - t)).properties(ratings, p - p.halfFloat(hf - hf))));} 你可以看到 year 是 short 类型的数据而 ratings 是一个浮点数。其它的均为 text 字段。 我们接下来使用 Jackson 的 CSV 映射器来读取该文件所以让我们对其进行配置 Instant start Instant.now();System.out.println(Starting BulkIndexer... \n);CsvMapper csvMapper new CsvMapper();CsvSchema schema CsvSchema.builder().addColumn(title) // same order as in the csv.addColumn(description).addColumn(author).addColumn(image).addColumn(previewLink).addColumn(publisher).addColumn(year).addColumn(infoLink).addColumn(categories).addColumn(ratings).setColumnSeparator(,).setSkipFirstDataRow(true).build();MappingIteratorBook it csvMapper.readerFor(Book.class).with(schema).readValues(new FileReader(csvPath)); 然后我们将逐行读取 csv 文件并使用 BulkIngester 优化摄取 BulkIngester ingester BulkIngester.of(bi - bi.client(client).maxConcurrentRequests(20).maxOperations(5000));boolean hasNext true;int j 0;while (hasNext) {try {Book book it.nextValue();ingester.add(BulkOperation.of(b - b.index(i - i.index(INDEX_NAME).document(book))));hasNext it.hasNextValue();} catch (JsonParseException | InvalidFormatException e) {// ignore malformed dataSystem.out.println(Something is wrong at: j);}j ;}ingester.close(); 由于我们使用的文档数非常之少只有10个文档。索引的速度非常之快。 查询文档 现在是时候从书籍数据中提取一些信息了。假设我们想要找到 [Julie Strain]。请注意为了方便我们在摄入文档的时候并没有针对 author 来进行任何的处理。它应该是一个数组。在这里我们为什么需要添加 [ 及 ] 符号呢这是因为截止目前的 ES|QL 版本发布所有的 text 字段都被当做为 keyword 字段。全文搜索还没有完全实现。 String queryAuthor from books| where author [Julie Strain]| sort year desc| limit 10;ListBook queryRes (ListBook) client.esql().query(ObjectsEsqlAdapter.of(Book.class), queryAuthor);System.out.println(~~~\nObject result author:\n queryRes.stream().map(Book::title).collect(Collectors.joining(\n)));ResultSet resultSet client.esql().query(ResultSetEsqlAdapter.INSTANCE, queryAuthor);System.out.println(~~~\nResultSet result author:);while (resultSet.next()) {System.out.println(resultSet.getString(title));} 上面显示的结果是 ~~~ Object result author: Its Only Art If Its Well Hung!~~~ ResultSet result author: Its Only Art If Its Well Hung! 感谢使用 Book.class 作为目标的 ObjectsEsqlAdapter我们可以忽略 ES|QL 查询的 json 结果是什么而只关注客户端自动返回的更熟悉的书籍列表。 对于那些习惯 SQL 查询和 JDBC 接口的人来说客户端还提供了 ResultSetEsqlAdapter可以以同样的方式使用它而是返回一个 java.sql.ResultSet。 ResultSet resultSet esClient.esql().query(ResultSetEsqlAdapter.INSTANCE,queryAuthor); 另一个例子我们现在想要找出出版商为 Plympton PressIntl 中评分最高的书籍 String queryPublisher from books| where publisher Plympton PressIntl| sort ratings desc| limit 10| sort title asc;queryRes (ListBook) client.esql().query(ObjectsEsqlAdapter.of(Book.class), queryPublisher);System.out.println(~~~\nObject result publisher:\n queryRes.stream().map(Book::title).collect(Collectors.joining(\n))); 上面代码运行的结果为 Object result publisher: Rising Sons and Daughters: Life Among Japans New Young 你可以在地址 GitHub - liu-xiao-guo/elasticsearch-java-esql 下载源码。

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

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

相关文章

房产网站模板程序在线oa

内容摘要 我国推动的工业互联网是更加广义的工业互联网,不仅包括设备的联网。其核心是提升我国工业能力和工业水平,是我国制造业转型升级的重要推手和抓手。我们把工业互联网分为六个层级,包括设备层、网络层、平台层、软件层、应用层和安全…

US$9 TF Card 4GB Flash Memory Card Can Work on Ksuite

TF Card 4GB Flash Memory Card Can Work on KsuitePackage List:1pc x 4GB TF Card Pictures of TF Card 4GB Flash Memory Card Can Work on KsuiteTF Card 4GB Flash Memory Card Can Work on Ksuite, now only nee…

详细介绍:MySQL备份策略核心知识点总结

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

新手学网站建设视频教程共30课高清版2狠狠做网站

题目 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k ,同时还满足 nums[i] nums[j] nums[k] 0 。请 你返回所有和为 0 且不重复的三元组。 注意:答案中不可以包含重复的三元组。 …

input() 函数

格式: 变量 = input("提示信息:")用户输入的任何内容,都将被 Python 识别为字符串。

Playwright MCP 的使用与调试技巧

摘要 本文将详细介绍 Playwright MCP 的使用方法、常见问题及解决方案,特别针对中国开发者,尤其是 AI 应用开发者。文章通过实践案例、代码示例、架构图、流程图等多种形式,帮助读者快速掌握 Playwright MCP 的核心…

什么网站建设效果好泰安最新通告今天

文章目录 一.基本介绍二.性能指标三.下载安装JMeter1.下载安装包2.启动JMeter 四.使用JMeter1.模拟用户请求2.填写测试地址3.接收测试结果4.结果解释 一.基本介绍 压力测试考察当前软硬件条件下系统所能承受的最大负荷并找到系统瓶颈所在。压测是为了系统在线上的处理能力和稳定…

网站运行速度慢中铁建设集团有限公司官方网站

摘要 本文使用2024年最新的ELA注意力机制改进YoloV8的Neck层,实现涨点!改进方式简单易用,涨点明显!欢迎大家使用。 大家在订阅专栏后,记着加QQ群啊!有些改进方法确实有难度,大家在改进的过程中遇到问题,我会解答和指导! 论文:《ELA:深度卷积神经网络的高效局部注意…

公司网站开发的工作内容链接买卖价格

php fgets()函数从文件指针读取一行语法:fgets(file,length)参数说明必需的. 指定姚要读取的文件长度可选. 指定姚都区的字节数. 默认值为102字节从文件所指向的文件中读取一行,并返回最大长度为1个字节的字符串. 遇到换行符(包含在返回值中,)&#xff0…

自适应网站教程wordpress ie兼容

🏡《总目录》 目录 1,概述2,工作原理2.1,材料特性2.2,温度升高2.3,温度降低2.4,数学模型3,结构特点3.1,磁芯3.2,线圈3.3,骨架3.4,绝缘材料4,工艺流程4.1,材料准

网站开发与维护专员岗位职责单页面seo优化

早晨:准备与启动 6:00 AM - 系统启动 自动化仓储系统在清晨开始启动,操作员检查各项系统和设备的状态,确保所有机器人、传送带和扫描设备都正常运行。仓储管理系统(WMS)加载当天的订单数据,准备开始处理。 6:30 AM - 早班员工到达 早班员工到达仓库,换上工作服和安全装…

怎么才能让自己做的网站上传到百度搜关键字可以搜到网页版微信二维码不出来

欢迎来到我的博客,代码的世界里,每一行都是一个故事 ZooKeeper初探:分布式世界的守护者 前言Zookeeper的概述分布式系统中的角色和作用: Zookeeper的数据模型Znode的概念和层次结构:Znode的类型和应用场景:…

做网站公司 备案郑州市多商家网站制作公司

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列,持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列,持续更新中 【youcans 的 OpenCV 例程 200 篇】117. 形态学操作之顶帽运算 形态学的基本思想是利用结构元素测量或提取输入图像中的形状或特征&…

详细介绍:手把手教你用 ESP32 接入 OneNet 平台(MQTT 方式)

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

完整教程:Python学习历程——组织结构(包含for、if、while等等)

完整教程:Python学习历程——组织结构(包含for、if、while等等)2025-10-01 12:06 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !i…

实用指南:零基础学AI大模型之LangChain-PromptTemplate

实用指南:零基础学AI大模型之LangChain-PromptTemplatepre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas&…

Nginx 反向代理、负载均衡与 Keepalived 高可用 - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

文件上传攻击全面指南:从侦察到防御

本文深入探讨文件上传攻击的技术细节,包括如何识别目标服务器框架、利用文件上传漏洞获取服务器权限,以及相应的防御措施。文章详细介绍了侦察阶段的URL路径探测和扩展名词典技术,为安全研究人员提供实用指导。#2 文…

深圳网站推广中关村在线官网入口

Linux网卡命名规则 网卡命名 一、为什么需要这个 服务器通常有多块网卡,有板载集成的,同时也有插在PCIe插槽的。Linux系统的命名原来是eth0,eth1这样的形式,但是这个编号往往不一定准确对应网卡接口的物理顺序。 为解决这类问题&…