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

智能小程序开发者工具昆明seo推广外包

智能小程序开发者工具,昆明seo推广外包,做网站淘汰了,开发公司委托物业公司管理小区是否合理文章目录 背景在ES中增加数据新建索引删除索引 在ES中查询数据查询数据总数量 项目具体使用(实战)引入依赖方式一:使用配置类连接对应的es服务器创建配置类编写业务逻辑----根据关键字查询相关的聊天内容在ES中插入数据 总结提升 背景 最近需…

文章目录

  • 背景
  • 在ES中增加数据
    • 新建索引
    • 删除索引
  • 在ES中查询数据
    • 查询数据总数量
  • 项目具体使用(实战)
    • 引入依赖
    • 方式一:使用配置类连接对应的es服务器
      • 创建配置类
      • 编写业务逻辑----根据关键字查询相关的聊天内容
      • 在ES中插入数据
  • 总结提升

背景

最近需要做一个有关查询聊天记录的功能,通过资料了解到使用ES可以方便我们快速查询内容。自己进行ES框架的搭建,感兴趣的可以看博客进行学习:https://blog.csdn.net/weixin_45309155/article/details/132686375?spm=1001.2014.3001.5501
ES搭建好之后就是应用了,下面就先总结一下关于最近在项目中的应用。

在ES中增加数据

因为在要在项目中进行增加数据。查阅资料需要有索引。所以要先进行索引的创建。这部分是先在postman中调用接口进行创建索引。

新建索引

在postman中,使用接口:

http://116.XXXXXX:9200/chat

IP地址+端口号+你需要创建的索引名称。请求类型为put
在这里插入图片描述
如果创建成功之后就会显示如下代码:

{"acknowledged": true,"shards_acknowledged": true,"index": "chat"
}

删除索引

在postman中使用接口:

http://116.XXXXXX:9200/chat

P地址+端口号+你需要删除的索引名称。请求类型为delete
如果删除成功会显示代码:

{"acknowledged": true
}

这里需要注意的是:当你删除索引的时候,如果该索引下有数据内容的话,会把对应的数据进行删除。

在ES中查询数据

在postman中使用接口:

http://116.XXXXX:9200/chat/_search

在这里插入图片描述
如果有内容,就可以看到相应插入的数据

查询数据总数量

在postman中使用接口

http://116.XXXXX:9200/chat/_count

请求类型为get
请求体为:

{"query": {"match_all": {}}
}

在这里插入图片描述
如果有数据的话会显示数据的总数;
在这里插入图片描述

项目具体使用(实战)

引入依赖

<dependency><groupId>org.elasticsearch.client</groupId><artifactId>elasticsearch-rest-high-level-client</artifactId><version>${elasticsearch.version}</version></dependency><dependency><groupId>org.elasticsearch</groupId><artifactId>elasticsearch</artifactId><version>${elasticsearch.version}</version></dependency><dependency><groupId>org.elasticsearch.client</groupId><artifactId>elasticsearch-rest-client-sniffer</artifactId><version>${elasticsearch.version}</version></dependency>

方式一:使用配置类连接对应的es服务器

创建配置类

@Configuration
public class ElasticSearchClientConfig {@Beanpublic RestClientBuilder restClientBuilder() {RestHighLevelClient restHighLevelClient =new RestHighLevelClient (RestClient.builder(new HttpHost("ES的ip地址",9200,"http")));return client;}
}

编写业务逻辑----根据关键字查询相关的聊天内容

这里需要入参:需要查询的关键字keyword

public List<Map<String, Object>> search(String userId,String fileName, String keyword) throws IOException {ArrayList<Map<String, Object>> resultList = new ArrayList<>();try {if (userId.isEmpty()||fileName.isEmpty()||keyword.isEmpty()){throw new Exception();}// 构建查询条件BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();// 匹配receiver或sender为userId的文档boolQueryBuilder.should(QueryBuilders.termQuery("receiver", userId));boolQueryBuilder.should(QueryBuilders.termQuery("sender", userId));// 部分匹配content字段的关键字MatchQueryBuilder contentQueryBuilder = QueryBuilders.matchQuery(fileName, keyword);boolQueryBuilder.must(contentQueryBuilder);// 创建搜索请求,chat为索引值SearchRequest searchRequest = new SearchRequest("chat");SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();searchSourceBuilder.query(boolQueryBuilder);searchRequest.source(searchSourceBuilder);// 执行搜索SearchResponse searchResponse = restHighLevelClient.search(searchRequest, RequestOptions.DEFAULT);// 解析结果for (SearchHit documentFields : searchResponse.getHits().getHits()) {Map<String, Object> sourceAsMap = documentFields.getSourceAsMap();Object  receiver =  sourceAsMap.get("receiver");Object  sender =  sourceAsMap.get("sender");if ((receiver != null && receiver.toString().equals(userId)) || (sender != null && sender.toString().equals(userId))) {resultList.add(sourceAsMap);}}return resultList;}catch (Exception e){e.printStackTrace();}return resultList;}

在ES中插入数据

public Boolean parseContent() throws IOException {List<SendMessagePojo> list= queryContent();//需要插入的内容BulkRequest bulkRequest = new BulkRequest();for (int i = 0; i < list.size(); i++) {bulkRequest.add(new IndexRequest("chat").source(JSONObject.toJSONString(list.get(i)), XContentType.JSON));}try {BulkResponse bulk = restHighLevelClient.bulk(bulkRequest, RequestOptions.DEFAULT);return !bulk.hasFailures();}catch (Exception e){e.printStackTrace();}return null;}

插入到es时,不需要提前定义列名,当你什么实体的类型的值时,就可以直接按照你的实体名称进行存储。

上面两段业务代码可以根据自己的业务代码进行修改调整。

总结提升

Elasticsearch (ES) 是一个分布式搜索和分析引擎,它具有强大的实时数据处理能力。以下是关于ES增加和删除业务场景的总结,旨在提升您对ES的理解。

ES的增加业务场景

  1. 数据索引和搜索
    ES的主要用途之一是将数据索引到Elasticsearch集群中,并使用其强大的搜索功能来查询和检索数据。以下是一些使用ES进行数据索引和搜索的业务场景:

电子商务网站:将商品信息索引并快速搜索,实现商品的全文搜索、过滤和排序。
新闻网站:将新闻文章索引到ES中,通过关键字搜索、相关性排序等功能提供高效的全文搜索服务。
日志分析:将日志数据索引到ES,利用其强大的搜索和聚合功能来实时分析和监控系统日志。
社交媒体分析:将社交媒体数据索引到ES,通过搜索和聚合功能来分析用户行为、趋势和情感分析等。
2. 实时数据处理
ES对实时数据处理的支持使其成为处理大规模实时数据流的理想选择。以下是一些使用ES进行实时数据处理的业务场景:

监控和告警系统:将实时产生的监控指标和日志数据索引到ES中,通过实时搜索和聚合功能进行告警和异常检测。
实时日志分析:将实时产生的日志数据索引到ES中,通过搜索和聚合功能快速分析应用程序或系统的实时日志。
事件处理和通知:将实时事件索引到ES中,通过实时搜索和推送功能来处理事件并发送通知。
3. 数据聚合和分析
ES提供了强大的聚合和分析功能,可以对大规模数据集进行高效的数据挖掘和分析。以下是一些使用ES进行数据聚合和分析的业务场景:

业务智能报表:利用ES的聚合功能,对大规模数据进行聚合和汇总,生成业务智能报表和可视化图表。
用户行为分析:通过对用户行为数据的聚合和分析,提取用户喜好、兴趣和行为模式等信息,用于个性化推荐和营销策略。
数据探索和发现:通过搜索和聚合功能,对数据集进行探索和发现,挖掘数据中的潜在模式、关联性和趋势。
ES的删除业务场景

  1. 数据清理和过期数据删除
    由于ES的索引是基于倒排索引的,对于长时间未更新的数据,可能会占用不必要的磁盘空间和内存资源。以下是一些使用ES进行数据清理和过期数据删除的业务场景:

日志数据清理:定期删除旧的日志数据,以保持ES集群的性能和存储效率。
缓存数据刷新:根据数据的过期时间,在ES中实现缓存数据的自动刷新和删除。
2. 数据保护和隐私合规
根据隐私法规和合规要求,需要定期删除或销毁某些类型的数据。以下是一些使用ES进行数据保护和隐私合规的业务场景:

用户数据删除:根据用户的请求或特定时间段,删除包含敏感信息的用户数据。
合规数据保留:根据法律法规的要求,对特定类型的数据进行保留期限管理和数据销毁操作。
总结来说,ES的增加和删除功能可以应用于各种业务场景,包括数据索引和搜索、实时数据处理、数据聚合和分析,以及数据清理和隐私合规。通过充分利用ES的功能,可以提升数据的可发现性、实时性和分析能力,从而为业务带来更大的价值。

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

相关文章:

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