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

网站建设下一步工作计划南宁网络推广品牌

网站建设下一步工作计划,南宁网络推广品牌,网站更换空间后排名消失 首页被k,北京 网站建设这里写自定义目录标题 版本说明spring boot POM依赖application.yml配置新建模型映射Repository简单测试完整项目文件目录结构windows下elasticsearch安装配置 版本说明 官网说明 本文使用最新的版本 springboot: 3.2.3 spring-data elasticsearch: 5.2.3 elasticsearch: 8.1…

这里写自定义目录标题

  • 版本说明
  • spring boot POM依赖
  • application.yml配置
  • 新建模型映射
  • Repository
  • 简单测试
  • 完整项目文件目录结构
  • windows下elasticsearch安装配置

版本说明

官网说明
在这里插入图片描述
本文使用最新的版本

springboot: 3.2.3
spring-data elasticsearch: 5.2.3
elasticsearch: 8.11.4

elasticsearch下载链接:https://www.elastic.co/cn/downloads/past-releases#elasticsearch

最新版可能不兼容,以spring官网为准

spring boot POM依赖

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.2.3</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.example</groupId><artifactId>demo-es</artifactId><version>0.0.1-SNAPSHOT</version><name>demo-es</name><description>demo-es</description><properties><java.version>17</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-elasticsearch</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><excludes><exclude><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></exclude></excludes></configuration></plugin></plugins></build>
</project>

application.yml配置

使用https必须配置username 和 password

spring:elasticsearch:uris: https://localhost:9200username: elasticpassword: 123456

新建模型映射

package com.example.demoes.es.model;import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;@Data
@AllArgsConstructor
@NoArgsConstructor
@Document(indexName = "user") // user 是elasticsearch的索引名称(新版本的elasticsearch没有了type的概念)
public class UserModel {  // 每一个UserModel对应一个elasticsearch的文档@Id@Field(name = "id", type = FieldType.Integer)Integer id;// FieldType.Keyword 不可分词@Field(name = "name", type = FieldType.Keyword)String name;// index = false 不建立索引@Field(name = "age", type = FieldType.Integer, index = false)Integer age;// FieldType.Text 可分词,ik_smart,ik_max_word 是ik分词器,对中文分词友好,需要另外安装@Field(name = "address", type = FieldType.Text, searchAnalyzer = "ik_smart", analyzer = "ik_max_word")String address;}

Repository

spring data的repository方便操作,类似jpa的操作
继承ElasticsearchRepository自带一些基础的操作方法

package com.example.demoes.es.repo;import com.example.demoes.es.model.UserModel;
import org.springframework.data.elasticsearch.repository.ElasticsearchRepository;// UserModel 模型映射   Integer ID的类型
public interface ESUserRepository extends ElasticsearchRepository<UserModel, Integer> {}

简单测试

package com.example.demoes;import com.example.demoes.es.model.UserModel;
import com.example.demoes.es.repo.ESUserRepository;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.elasticsearch.core.*;
import org.springframework.data.elasticsearch.core.mapping.IndexCoordinates;
import org.springframework.data.elasticsearch.core.query.Criteria;
import org.springframework.data.elasticsearch.core.query.CriteriaQuery;@SpringBootTest
class DemoEsApplicationTests {@AutowiredESUserRepository esUserRepository;// 以下三个是 spring-boot-starter-data-elasticsearch 自动配置的 elasticsearch 操作 Bean// 1. DocumentOperations 文档操作@AutowiredDocumentOperations documentOperations;// 2. SearchOperations 查询操作@AutowiredSearchOperations searchOperations;// 3. ElasticsearchOperations elasticsearch 通用的操作,包括DocumentOperations和SearchOperations@AutowiredElasticsearchOperations elasticsearchOperations;@Testvoid contextLoads() {}@Testpublic void testIndex() {// 获取索引操作IndexOperations indexOperations = elasticsearchOperations.indexOps(UserModel.class);// 查看索引映射关系System.out.println(indexOperations.getMapping());// 输出索引名称System.out.println(indexOperations.getIndexCoordinates().getIndexName());}/*** 添加文档*/@Testpublic void testAdd() {esUserRepository.save(new UserModel(1, "张三", 18, "北京朝阳"));esUserRepository.save(new UserModel(2, "李四", 19, "北京朝阳"));esUserRepository.save(new UserModel(3, "王五", 20, "北京朝阳"));esUserRepository.save(new UserModel(4, "赵六", 21, "北京朝阳"));esUserRepository.save(new UserModel(5, "马六", 22, "北京朝阳"));esUserRepository.save(new UserModel(6, "孙七", 23, "北京朝阳"));esUserRepository.save(new UserModel(7, "吴八", 24, "北京朝阳"));esUserRepository.save(new UserModel(8, "郑九", 25, "北京朝阳"));// 查询所有esUserRepository.findAll().forEach(System.out::println);}/*** 更新文档*/@Testpublic void testUpdate() {// 按id更新IndexCoordinates indexCoordinates = elasticsearchOperations.indexOps(UserModel.class).getIndexCoordinates();documentOperations.update(new UserModel(1, "张三", 60, "北京朝阳"), indexCoordinates);}/*** 删除文档*/@Testpublic void testDelete() {documentOperations.delete(String.valueOf(8), UserModel.class);}/*** 查询文档*/@Testpublic void testSearch() {CriteriaQuery query = new CriteriaQuery(new Criteria("id").is(2));SearchHits<UserModel> searchHits = searchOperations.search(query, UserModel.class);for (SearchHit searchHit : searchHits.getSearchHits()){UserModel user = (UserModel) searchHit.getContent();System.out.println(user);}}}

完整项目文件目录结构

在这里插入图片描述

windows下elasticsearch安装配置

直接解压修改配置文件解压目录/config/elasticsearch.yml


# 集群名称
cluster.name: el-cluster
#
# ------------------------------------ Node ------------------------------------
#
# Use a descriptive name for the node:
#
#node.name: node-1
# 节点名称
node.name: el-node-1#  数据和日志存储路径,默认安装位置path.data: D:/module/elasticsearch-8.11.4/datapath.logs: D:/module/elasticsearch-8.11.4/logs# 访问限制,0.0.0.0代表所有IP都可以访问,localhost也可以
network.host: 0.0.0.0
# 访问端口 默认9200
http.port: 9200# 安全配置,以下的配置第一次启动时自动生成,也可以不配置
#----------------------- BEGIN SECURITY AUTO CONFIGURATION -----------------------
#
# The following settings, TLS certificates, and keys have been automatically      
# generated to configure Elasticsearch security features on 21-03-2024 01:32:15
#
# --------------------------------------------------------------------------------# Enable security features 不使用https时设为false
xpack.security.enabled: truexpack.security.enrollment.enabled: true# Enable encryption for HTTP API client connections, such as Kibana, Logstash, and Agents 不使用https时设为false
xpack.security.http.ssl:enabled: truekeystore.path: certs/http.p12# Enable encryption and mutual authentication between cluster nodes
xpack.security.transport.ssl:enabled: trueverification_mode: certificatekeystore.path: certs/transport.p12truststore.path: certs/transport.p12
# Create a new cluster with the current node only
# Additional nodes can still join the cluster later
cluster.initial_master_nodes: ["el-node-1"]#----------------------- END SECURITY AUTO CONFIGURATION -------------------------

第一次启动会在控制台打印密码,用户名默认elastic
修改密码的话不要关闭控制台,另外开启一个控制台,进入elastic search安装目录下的bin目录,使用以下命令修改
-i 是交互式的意思,没有的话会随机生成密码,无法自定义。
输入命令回车然后输入两次密码就行了

elasticsearch-reset-password --username elastic -i

使用keytool工具将ca证书导入到jdk。
keytool是jdk自带的工具,使用以下命令

keytool -importcert -cacerts -alias "es_http_ca" -file "elasticsearch安装路径\config\certs\http_ca.crt"

es_http_ca 是证书别名

http://www.hkea.cn/news/975143/

相关文章:

  • 零点研究咨询集团官方网站建设相似图片在线查找
  • 网站开发需要什么软件关键词app
  • 360全景网站建设做了5天游戏推广被抓了
  • 政府网站建设经验典型材料河源今日头条新闻最新
  • 为什么要进行网站备案佛山市人民政府门户网站
  • 摄影网站开发背景百度app交易平台
  • 吉林网站建设石家庄百度快照优化排名
  • 大学生网站开发总结报告app推广接单发布平台
  • 自己做的网站怎么推广seo顾问培训
  • 怎么做业务网站百度搜索提交入口
  • 网页设计网站图片西安百度推广运营公司
  • 济南网站开发推广网络服务包括
  • 五星级酒店网站建设关键词歌词表达的意思
  • 浙江高端建设网站网站关键词如何优化
  • 2017网站开发工程师五合一网站建设
  • 学编程的孩子有什么好处seo网站诊断文档案例
  • 广州中新知识城开发建设网站无锡百姓网推广
  • 宝鸡做网站费用关键词你们懂的
  • wordpress 仿站 教程百度竞价点击一次多少钱
  • 做h的游戏 迅雷下载网站百度推广管家
  • 营销型网站建设的目的外贸网站平台都有哪些 免费的
  • 广东做网站公司广州从化发布
  • 能发外链的网站国际新闻今天最新消息
  • 做软件的网站关键词优化快速排名
  • 网站建设与管理简介网站链接交易
  • 英文网站建设教程网盘资源搜索神器
  • 做旅游网站的引言最新网络推广平台
  • 服务器上给网站做301跳转企业网站注册
  • 网站建设好做吗乐事薯片软文推广
  • wordpress 年月归档如何优化培训体系