建设厅网站装修合同模板,百度域名多少钱,搭建wordpress博客系统,高端品牌化妆品排行榜前十名文章目录 pom.xml1创建索引2.创建索引并设置settings信息3.创建索引并设置mapping信息4.删除索引库5.给未设置mapping的索引设置mapping elasticsearch版本7.10.2#xff0c;要求java客户端与之相匹配#xff0c;推荐Springboot版本是2.3以上版本 依赖配置使用的是JUnit 5要求java客户端与之相匹配推荐Springboot版本是2.3以上版本 依赖配置使用的是JUnit 5由artifactIdspring-boot-starter-test/artifactId提供支持而Before注解是JUnit 4中的注解。在JUnit 5中应该使用BeforeEach来代替Before。 替换注解 将所有的Before注解替换为BeforeEach。 确保你的测试类使用了JUnit 5的相关注解如TestJUnit 5中的Test注解位于org.junit.jupiter.api.Test。 确保测试类正确配置 确保你的测试类上没有使用JUnit 4的RunWith注解。 如果使用了Spring的测试支持确保类上有SpringBootTest或其他相关的Spring测试注解。 更新测试方法 确认所有的测试方法都使用了JUnit 5的Test注解。
pom.xml
project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.3.2.RELEASE/versionrelativePath/ !-- lookup parent from repository --/parentartifactIdchubemall-search/artifactIdpackagingjar/packagingnamechubemall-search/nameurlhttp://maven.apache.org/urlpropertiesproject.build.sourceEncodingUTF-8/project.build.sourceEncodingjava.version1.8/java.versionspring-cloud.versionGreenwich.SR3/spring-cloud.versionelasticsearch.version7.10.2/elasticsearch.version/propertiesdependencies
!-- dependency--
!-- groupIdjunit/groupId--
!-- artifactIdjunit/artifactId--
!-- version3.8.1/version--
!-- scopetest/scope--
!-- /dependency--!--引入common公共模块--dependencygroupIdcom.xd.cubemall/groupIdartifactIdcubemall-common/artifactIdversion0.0.1-SNAPSHOT/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-openfeign/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependency!-- dependency--
!-- groupIdorg.springframework.boot/groupId--
!-- artifactIdspring-boot-starter-data-elasticsearch/artifactId--
!-- /dependency--dependencygroupIdorg.elasticsearch.client/groupIdartifactIdelasticsearch-rest-high-level-client/artifactIdversion7.10.2/version/dependency/dependenciesdependencyManagementdependenciesdependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-dependencies/artifactIdversion${spring-cloud.version}/versiontypepom/typescopeimport/scope/dependency/dependencies/dependencyManagement
/project
1创建索引
步骤 1.创建一个RestHightLevelClient对象相当于和服务端建立连接 2.使用client的索引管理的对象indices()返回索引管理对象
package com.xd.cubemall.es;import org.apache.http.HttpHost;
import org.elasticsearch.client.IndicesClient;
import org.elasticsearch.client.RequestOptions;
import org.elasticsearch.client.RestClient;
import org.elasticsearch.client.RestHighLevelClient;
import org.elasticsearch.client.indices.CreateIndexRequest;
import org.elasticsearch.client.indices.CreateIndexResponse;
import org.junit.jupiter.api.Test;/*** 索引管理*/
public class IndexManager {Testpublic void createIndex() throws Exception {//创建一个client对象RestHighLevelClient client new RestHighLevelClient(RestClient.builder(new HttpHost(1.1.1.1,9200),new HttpHost(2.2.2.2,9200),new HttpHost(3.3.3.3,9200)));//获得索引管理对象IndicesClient indicesClient client.indices();//两个参数//1.创建索引请求对象CreateIndexRequest request new CreateIndexRequest(hello);//2.请求选项使用默认值。配置请求头主要用于认证。CreateIndexResponse response indicesClient.create(request, RequestOptions.DEFAULT);System.out.println(response);}
}
2.创建索引并设置settings信息
CreateIndexRequest对象中设置settings即可
package com.xd.cubemall.es;import org.apache.http.HttpHost;
import org.elasticsearch.client.IndicesClient;
import org.elasticsearch.client.RequestOptions;
import org.elasticsearch.client.RestClient;
import org.elasticsearch.client.RestHighLevelClient;
import org.elasticsearch.client.indices.CreateIndexRequest;
import org.elasticsearch.client.indices.CreateIndexResponse;
import org.elasticsearch.common.settings.Settings;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;/*** 索引管理*/
public class IndexManager {private RestHighLevelClient client;BeforeEachpublic void init() {//创建一个client对象client new RestHighLevelClient(RestClient.builder(new HttpHost(1.1.1.1,9200),new HttpHost(2.2.2.2,9200),new HttpHost(3.3.3.3,9200)));}Testpublic void createIndex() throws Exception {//获得索引管理对象IndicesClient indicesClient client.indices();//两个参数//1.创建索引请求对象CreateIndexRequest request new CreateIndexRequest(hello);//2.请求选项使用默认值。配置请求头主要用于认证。CreateIndexResponse response indicesClient.create(request, RequestOptions.DEFAULT);//显示结果System.out.println(response);}Testpublic void createIndex2() throws Exception {CreateIndexRequest request new CreateIndexRequest(hello1).settings(Settings.builder().put(number_of_shards, 5).put(number_of_replicas,1).build());System.out.println(Client is null: (client null));System.out.println(Request is null: (request null));client.indices().create(request,RequestOptions.DEFAULT);}}
3.创建索引并设置mapping信息
{properties:{id:{type:long},title:{type:text,analyzer:ik_smart,store:true},content:{type:text,analyzer:ik_smart,store:true} }
}Testpublic void createIndex3() throws Exception {XContentBuilder mappings XContentFactory.jsonBuilder().startObject().startObject(properties).startObject(id).field(type,long).endObject().startObject(title).field(type,text).field(analyzer,ik_smart).field(store,true).endObject().startObject(content).field(type,text).field(analyzer,ik_smart).field(store,true).endObject().endObject().endObject();CreateIndexRequest request new CreateIndexRequest(hello2).settings(Settings.builder().put(number_of_shards, 5).put(number_of_replicas,1).build()).mapping(mappings);client.indices().create(request, RequestOptions.DEFAULT);}4.删除索引库
DeleteIndexRequest对象其中包含索引库的名称即可 indices().delete(request) Testpublic void deleteIndex() throws Exception {client.indices().delete(new DeleteIndexRequest(hello),RequestOptions.DEFAULT);}5.给未设置mapping的索引设置mapping Testpublic void putMappings() throws Exception {String mappings {\n \t\properties\:{\n \t\t\id\:{\n \t\t\t\type\:\long\\n \t\t},\n \t\t\title\:{\n \t\t\t\type\:\text\,\n \t\t\t\analyzer\:\ik_smart\,\n \t\t\t\store\:true\n \t\t},\n \t\t\content\:{\n \t\t\t\type\:\text\,\n \t\t\t\analyzer\:\ik_smart\,\n \t\t\t\store\:true\n \t\t}\t\t\n \t}\n };PutMappingRequest request new PutMappingRequest(hello1).source(mappings, XContentType.JSON);client.indices().putMapping(request,RequestOptions.DEFAULT);}