美文网首页
ElasticSearch8教程笔记

ElasticSearch8教程笔记

作者: 卡斯特梅的雨伞 | 来源:发表于2025-04-25 18:38 被阅读0次

ElasticSearch8教程笔记

  • 基于JDK17,可以兼容JDK8,但是建议用JDK17性能更好。

  • 完全支持ARM架构。

kibana操作

  • put 、post操作在有指定主键id时可以是修改也可以是添加。
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png

搜索结果评分机制

  • TF-IDF公式
    • boost * idf * tf
    • boost 权重默认2.2
    • 可以手动设置查询权重值
  • TF:词频
  • IDF: 逆文档频率
image.png
image.png
image.png
image.png

Java API操作

  • 推荐使用Lamda表达式构建增删改查API方法。

    pom依赖

<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<elastic.version>8.1.0</elastic.version>
</properties>
<dependencies>
<dependency>
<groupId>org.elasticsearch.plugin</groupId>
<artifactId>x-pack-sql-jdbc</artifactId>
<version>8.1.0</version>
</dependency>
<dependency>
<groupId>co.elastic.clients</groupId>
<artifactId>elasticsearch-java</artifactId>
<version>${elastic.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.12.3</version>
</dependency>
<dependency>
<groupId>jakarta.json</groupId>
<artifactId>jakarta.json-api</artifactId>
<version>2.0.1</version>
</dependency>
</dependencies>

获取连接

 导入的类
import co.elastic.clients.elasticsearch.*;
import co.elastic.clients.json.jackson.JacksonJsonpMapper;
import co.elastic.clients.transport.ElasticsearchTransport;
import co.elastic.clients.transport.rest_client.RestClientTransport;
import org.apache.http.HttpHost;
import org.apache.http.auth.*;
import org.apache.http.client.*;
import org.apache.http.conn.ssl.NoopHostnameVerifier;
import org.apache.http.impl.client.*;
import org.apache.http.impl.nio.client.HttpAsyncClientBuilder;
import org.apache.http.ssl.*;
import org.elasticsearch.client.*;
import javax.net.ssl.SSLContext;
import java.io.InputStream;
import java.nio.file.*;
import java.security.KeyStore;
import java.security.cert.*;
# 获取客户端对象
final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
credentialsProvider.setCredentials(AuthScope.ANY,
new UsernamePasswordCredentials("elastic", "O3x0hfu7i=ZbQvlktCnd"));
Path caCertificatePath = Paths.get("ca.crt");
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();
RestClientBuilder builder = RestClient.builder(
new HttpHost("linux1", 9200, "https"))
.setHttpClientConfigCallback(new
RestClientBuilder.HttpClientConfigCallback() {
@Override
public HttpAsyncClientBuilder customizeHttpClient(
HttpAsyncClientBuilder httpClientBuilder) {
return httpClientBuilder.setSSLContext(sslContext)
.setSSLHostnameVerifier(NoopHostnameVerifier.INSTANCE)
.setDefaultCredentialsProvider(credentialsProvider);
}
});
RestClient restClient = builder.build();
ElasticsearchTransport transport = new RestClientTransport(
restClient, new JacksonJsonpMapper());
ElasticsearchClient client = new ElasticsearchClient(transport);
ElasticsearchAsyncClient asyncClient = new ElasticsearchAsyncClient(transport);
transport.close();
image.png
image.png
image.png
image.png
image.png
image.png

EQL 操作

EQL 的全名是 Event Query Language (EQL)。事件查询语言(EQL)是一种用于基于事

件的时间序列数据(例如日志,指标和跟踪)的查询语言。

SQL操作

  • DataGrip——ES的sql客户端工具
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png

自然语言NLP处理

  • 8.0 的发布,Elastic 很高兴能够将PyTorch 机器学习模型上传到 Elasticsearch 中。
image.png
image.png
image.png
image.png

ES优化

  • 页缓存——操作系统缓存
    • 这就是为什么建议的 Elasticsearch 内存通常不超过总可用内存的一半,这样另一半就可用于页缓存了
  • 分片级请求缓存——节点级别的缓存
  • 查询缓存——功能级别的缓存
image.png
image.png
image.png
image.png
image.png

参考

ElasticSearch教程入门到精通

相关文章

  • Typescript

    学习笔记 菜鸟教程 《菜鸟教程》-TypeScript简介 《菜鸟教程》-TypeScript安装 《菜鸟教程》-...

  • Elasticsearch8入门

    版本 8.4 安装 windows本地安装,直接下载zip包解压即可windows安装官方教程[https://w...

  • Elasticsearch8编译安装

    前提条件 jdk 17+安装 docker安装 移除旧版 安装Docker groovy 编译Elasticsea...

  • Git教程笔记

    Git教程笔记 Git教程-菜鸟教程 1. Git 安装配置 1.1 Linux | Windows | Mac...

  • Git常用命令

    Git教程笔记 教程链接:http://www.liaoxuefeng.com/wiki/001373951630...

  • UIStackView属性图

    看RW的StackView教程笔记。

  • C# 基础笔记

    教程笔记:(图片过大, 下载查看。)

  • Git学习笔记

    写在前面 本文档是学习 廖雪峰Git教程 后所做的笔记,教程帮忙很大,非常感谢! 本笔记主要记录了教程中所用的命令...

  • Sqlmap使用教程【个人笔记精华整理】(转载)

    Sqlmap使用教程【个人笔记精华整理】 2015-8-15 sqlmap, sql注入, 渗透教程 渗透教程 1...

  • iTRAQ定量蛋白质组笔记(上)

    前言 前言 这篇笔记是腾讯课堂上的蛋白质组数据分析教程的笔记,教程的全称是《iTRAQ定量蛋白质组》教程中涉及到的...

网友评论

      本文标题:ElasticSearch8教程笔记

      本文链接:https://www.haomeiwen.com/subject/mrvobjtx.html