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

wordpress增加自适应功能解释seo网站推广

wordpress增加自适应功能,解释seo网站推广,做网站免费服务器哪家好,珠海网站制作策划SpringBoot整合Elasticsearch SpringBoot整合Elasticsearch有以下几种方式: 使用官方的Elasticsearch Java客户端进行集成 通过添加Elasticsearch Java客户端的依赖,可以直接在Spring Boot应用中使用原生的Elasticsearch API进行操作。参考文档 使用Sp…

SpringBoot整合Elasticsearch

SpringBoot整合Elasticsearch有以下几种方式:

  1. 使用官方的Elasticsearch Java客户端进行集成
    • 通过添加Elasticsearch Java客户端的依赖,可以直接在Spring Boot应用中使用原生的Elasticsearch API进行操作。
    • 参考文档
  2. 使用Spring Data Elasticsearch进行集成
    • Spring Data Elasticsearch是Spring Data项目的一部分,提供了更高级的抽象和易用性,可以简化与Elasticsearch的交互。
    • 通过添加Spring Data Elasticsearch的依赖,可以使用Repository接口和注解来定义和执行CRUD操作。
    • 官方文档

本文使用第一种方式。使用官方推荐的RestHighLevelClient操作ES。由于版本兼容问题,请选择和Elasticsearch对应的Java客户端版本。

依赖

在这里插入图片描述
从官方文档可以知道需要导入org.elasticsearch:elasticsearch和org.elasticsearch.client:elasticsearch-rest-client。

<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-elasticsearch</artifactId><version>2.2.2.RELEASE</version></dependency><dependency><groupId>org.elasticsearch</groupId><artifactId>elasticsearch</artifactId><version>7.4.2</version></dependency><dependency><groupId>org.elasticsearch.client</groupId><artifactId>elasticsearch-rest-high-level-client</artifactId><version>7.4.2</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies>

配置

@Configuration
public class ESConfig {/*** 解决netty引起的issue*/@PostConstructvoid init() {System.setProperty("es.set.netty.runtime.available.processors", "false");}@Beanpublic RestHighLevelClient getRestClient() {RestHighLevelClient restHighLevelClient = new RestHighLevelClient(RestClient.builder(new HttpHost("192.168.200.200", 9200, "http")));return restHighLevelClient;}}

测试

创建索引

    @Autowiredprivate RestHighLevelClient restHighLevelClient;/*** 创建索引*/@Testpublic void createIndex1() {String result = "创建成功";CreateIndexRequest createIndexRequest = new CreateIndexRequest("stu");try {CreateIndexResponse createIndexResponse = restHighLevelClient.indices().create(createIndexRequest, RequestOptions.DEFAULT);if (!createIndexResponse.isAcknowledged()){result = "创建失败";}else{result = "索引已经存在";}} catch (IOException e) {e.printStackTrace();result = "接口异常";}System.out.println(result);}
   /*** 创建索引同时创建映射关系* 如索引存在:新增文档数据;如果索引不存在:创建一条索引*/@Testpublic void createIndex2() {HashMap<String, Object> map = new HashMap<>();map.put("user", "kimchyrw");map.put("postDate", new Date());map.put("message", "trying out Elasticsearch");IndexRequest request = new IndexRequest("posts").id("2").source(map, XContentType.JSON);try {//响应信息IndexResponse indexResponse = restHighLevelClient.index(request, RequestOptions.DEFAULT);String index = indexResponse.getIndex();String id = indexResponse.getId();System.out.println("index: " + index + " id: " + id);//创建索引还是更新索引if (indexResponse.getResult() == DocWriteResponse.Result.CREATED) {System.out.println("CREATED.....");} else if (indexResponse.getResult() == DocWriteResponse.Result.UPDATED) {System.out.println("UPDATED....");}//校验分片信息ReplicationResponse.ShardInfo shardInfo = indexResponse.getShardInfo();if (shardInfo.getTotal() != shardInfo.getSuccessful()){}if (shardInfo.getFailed() > 0) {for (ReplicationResponse.ShardInfo.Failure failure :shardInfo.getFailures()) {String reason = failure.reason();System.out.println("reason: " + reason);}}} catch (IOException e) {e.printStackTrace();}}

更新文档中的数据

    /*** 更新一行数据*/@Testpublic void updateDoc() {//更新的数据HashMap<String, Object> map = new HashMap<>();map.put("updated", new Date());map.put("user", "kimchyrw");map.put("reason", "daily update");UpdateRequest updateRequest = new UpdateRequest("posts", "2").doc(map);try {UpdateResponse updateResponse = restHighLevelClient.update(updateRequest, RequestOptions.DEFAULT);String index = updateResponse.getIndex();String id = updateResponse.getId();long version = updateResponse.getVersion();if (updateResponse.getResult() == DocWriteResponse.Result.CREATED) {System.out.println("CREATED");} else if (updateResponse.getResult() == DocWriteResponse.Result.UPDATED) {System.out.println("UPDATED");} else if (updateResponse.getResult() == DocWriteResponse.Result.DELETED) {System.out.println("DELETED");} else if (updateResponse.getResult() == DocWriteResponse.Result.NOOP) {System.out.println("NOOP");}} catch (IOException e) {e.printStackTrace();}}

查询

   /*** 根据id查询document*/@Testpublic void getApi() {GetRequest getRequest = new GetRequest("posts", "1");//可选参数//禁用源检索,默认启用,开启后检索不到数据// getRequest.fetchSourceContext(FetchSourceContext.DO_NOT_FETCH_SOURCE);try {GetResponse getResponse = restHighLevelClient.get(getRequest, RequestOptions.DEFAULT);String index = getResponse.getIndex();String id = getResponse.getId();System.out.println("index: " + index + " id: " + id);if (getResponse.isExists()) {long version = getResponse.getVersion();String sourceAsString = getResponse.getSourceAsString();Map<String, Object> sourceAsMap = getResponse.getSourceAsMap();byte[] sourceAsBytes = getResponse.getSourceAsBytes();System.out.println("version: " + version);System.out.println("sourceAsMap: " + sourceAsMap);System.out.println("sourceAsBytes: " + Arrays.toString(sourceAsBytes));System.out.println("sourceAsString: " + sourceAsString);}} catch (IOException e) {e.printStackTrace();}}
   /*** 根据指定字段查询document*/@Testpublic void testSearch2() {SearchRequest searchRequest = new SearchRequest("posts");SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();//根据指定字段查询searchSourceBuilder.query(QueryBuilders.termQuery("user", "kimchy"));//分页查询记录searchSourceBuilder.from(0);searchSourceBuilder.size(5);//设置超时时间// searchSourceBuilder.timeout(new TimeValue(60, TimeUnit.SECONDS));//按字段排序或者按评分排序searchSourceBuilder.sort(new ScoreSortBuilder().order(SortOrder.DESC));searchSourceBuilder.sort(new FieldSortBuilder("_id").order(SortOrder.ASC));//结果高亮//查询部分字段searchSourceBuilder.fetchSource(new String[]{"user"}, new String[]{"user1"});searchRequest.source(searchSourceBuilder);try {SearchResponse searchResponse = restHighLevelClient.search(searchRequest, RequestOptions.DEFAULT);RestStatus status = searchResponse.status();TimeValue took = searchResponse.getTook();Boolean terminatedEarly = searchResponse.isTerminatedEarly();boolean timedOut = searchResponse.isTimedOut();SearchHits hits = searchResponse.getHits();TotalHits totalHits = hits.getTotalHits();long numHits = totalHits.value;TotalHits.Relation relation = totalHits.relation;float maxScore = hits.getMaxScore();System.out.println("hits: " + hits + " totalHits: " + totalHits + " numHits: " + numHits + " maxScore: " + maxScore);SearchHit[] searchHits = hits.getHits();for (SearchHit hit: searchHits) {String id = hit.getId();System.out.println("id: " + id);String sourceAsString = hit.getSourceAsString();System.out.println(sourceAsString);}} catch (IOException e) {e.printStackTrace();}}

参考

  • Rest High Level Client文档
  • Spring Data Elasticsearch - Reference Documentation
http://www.zhongyajixie.com/news/39092.html

相关文章:

  • 状态管理名词解释网站开发国内哪个搜索引擎最好用
  • 青岛做网站推广正规代运营公司
  • 在线生成手机网站好的seo网站
  • 微信微博网站建设做百度推广的业务员电话
  • 网络营销的方式有哪些?举例说明四川网站seo
  • 698元网站建设情感式软文广告
  • 公司网站开发费用荆门网站seo
  • 百度推广开户费用标准做seo排名好的公司
  • 新疆建设工程造价信息厦门关键词seo排名网站
  • 课程网站建设长沙seo网络营销推广
  • 开发建设网站多久搜索引擎优化常用方法
  • 建筑专业网站有哪些p2p万能搜索引擎
  • 假电影网站做注册百度问答平台
  • 最全的搜索引擎抖音seo教程
  • 个人网站用什么开发新闻发稿公司
  • 关键词推广方式东莞网站seo优化托管
  • 哪个商城网站建设好求职seo服务
  • 网站建设合同制seo去哪学
  • 男人和女人做性的网站做百度推广销售怎么样
  • 三合一建站网站广告设计与制作
  • wordpress视频教程下载seo怎么做整站排名
  • 东莞常平有高铁站吗搜索引擎推广有哪些
  • 施工企业管理费seo俱乐部
  • les做ml网站百度关键词优化多少钱一年
  • 济南建网站多少钱seo怎么刷排名
  • 安装配置wordpress优化搜索点击次数的方法
  • 如何 html5 网站在线识别图片
  • 厚街手机网站建设成品视频直播软件推荐哪个好用
  • 企业网络安全管理制度和应急预案西安网站seo服务
  • 咨询公司属于什么行业类别整站优化工具