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

免费建立一个网站微信公众号是干什么用的

免费建立一个网站,微信公众号是干什么用的,公司注册网上核名通不过,百度站长平台账号文章目录 一、简介二、安装与配置Elasticsearch三、集成Spring Boot与Elasticsearch1. 添加依赖与配置文件2. 创建Elasticsearch数据模型3. 定义Elasticsearch仓库接口4. 实现Elasticsearch数据操作 四、基本查询与索引操作1. 插入与更新数据2. 删除数据与索引3. 条件查询与分页… 文章目录 一、简介二、安装与配置Elasticsearch三、集成Spring Boot与Elasticsearch1. 添加依赖与配置文件2. 创建Elasticsearch数据模型3. 定义Elasticsearch仓库接口4. 实现Elasticsearch数据操作 四、基本查询与索引操作1. 插入与更新数据2. 删除数据与索引3. 条件查询与分页查询在Elasticsearch仓库定义一个分页查询的方法在业务封装的类中调用该方法 4. 排序与聚合查询排序聚合查询应用场景 五、高级查询与全文检索1. 多字段匹配与模糊查询2. 范围查询与正则表达式查询3. 全文检索与高亮显示 六、总结 一、简介 最近项目中要使用Elasticsearch所以就去简单的学习了一下怎么使用具体的一些在高级的功能暂时展示不了能力目前有点限不过一些基本的需求还是可以满足的。所以就写了一篇整理一下也希望能够指出不足之处 二、安装与配置Elasticsearch docker部署 正常部署 三、集成Spring Boot与Elasticsearch 1. 添加依赖与配置文件 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-elasticsearch/artifactId/dependencyspring:elasticsearch:rest:uris: 127.0.0.1:9200 #可配置多个以逗号间隔举例 ip,ipconnection-timeout: 1read-timeout: 302. 创建Elasticsearch数据模型 import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import org.springframework.data.annotation.Id; import org.springframework.data.elasticsearch.annotations.DateFormat; import org.springframework.data.elasticsearch.annotations.Document; import org.springframework.data.elasticsearch.annotations.Field; import org.springframework.data.elasticsearch.annotations.FieldType;import java.util.Date;/*** BelongsProject: spring-elas* BelongsPackage: com.example.springelas.elas.entity* Author: gepengjun* CreateTime: 2023-09-07 09:16* Description: TODO* Version: 1.0*/ Data Document(indexName book,createIndex true) public class Book {IdField(type FieldType.Text)private String id;Field(analyzerik_max_word)private String title;Field(analyzerik_max_word)private String author;Field(type FieldType.Double)private Double price;JsonFormat(pattern yyyy-MM-ddTHH:mm:ss)Field(type FieldType.Date,format DateFormat.custom, pattern 8uuuu-MM-ddTHH:mm:ss)private Date createTime;Field(type FieldType.Date,format DateFormat.time)private Date updateTime;/*** 1. Jackson日期时间序列化问题* Cannot deserialize value of type java.time.LocalDateTime from String 2020-06-04 15:07:54: Failed to deserialize java.time.LocalDateTime: (java.time.format.DateTimeParseException) Text 2020-06-04 15:07:54 could not be parsed at index 10* 解决JsonFormat(pattern yyyy-MM-dd HH:mm:ss)* 2. 日期在ES存为long类型* 解决需要加format DateFormat.custom* 3. java.time.DateTimeException: Unable to obtain LocalDate from TemporalAccessor: {DayOfMonth5, YearOfEra2020, MonthOfYear6},ISO of type java.time.format.Parsed* 解决pattern uuuu-MM-dd HH:mm:ss 即将yyyy改为uuuu或8uuuu: pattern 8uuuu-MM-dd HH:mm:ss* 参考https://www.elastic.co/guide/en/elasticsearch/reference/current/migrate-to-java-time.html#java-time-migration-incompatible-date-formats*/ } 3. 定义Elasticsearch仓库接口 public interface ESBookRepository extends ElasticsearchRepositoryBook, String {ListBook findByTitleOrAuthor(String title, String author);Highlight(fields {HighlightField(name title),HighlightField(name author)})Query({\match\:{\title\:\?0\}})SearchHitsBook find(String keyword); }4. 实现Elasticsearch数据操作 Service public class ESBookImpl {AutowiredESBookRepository esBookRepository;public void insertBook(Book book){Book a esBookRepository.save(book);System.out.println(a);}public Book queryBook(String keyWord){return esBookRepository.findById(keyWord).get();} }四、基本查询与索引操作 1. 插入与更新数据 2. 删除数据与索引 /*** description: 根据id删除* author: gepengjun* date: 2023/9/7 10:35* param: [keyWord]* return: void**/public void deleteBook(String keyWord){esBookRepository.deleteById(keyWord); // esBookRepository.delete(book); //可通过实体删除}首先根据spring提供的findAll方法获取所有数据 然后调用删除方法根据id删除 可以看到id为1的数据已经不在了 3. 条件查询与分页查询 在Elasticsearch仓库定义一个分页查询的方法 PageBook findByTitle(String title, Pageable pageable);在业务封装的类中调用该方法 public Object pageBook(String author){Pageable pageable PageRequest.of(0, 3);return esBookRepository.findByTitle(author,pageable);}最后在control中调用可以看一下执行情况 4. 排序与聚合查询 排序 这是查询全部进行的排序如果有需要根据条件查询进行排序可以参考上面的分页自行设置。 public Object findDESCBook(){//设置排序规则针对某个字段排序Sort sort Sort.by(Sort.Direction.DESC, price);return esBookRepository.findAll(sort);}根据价格字段进行排序 聚合查询 这个聚合查询还有点小瑕疵。 Autowiredprivate ElasticsearchOperations elasticsearchOperations;/*** description: 聚合查询* author: gepengjun* date: 2023/9/7 11:37* param: []* return: java.lang.Object**/public Object findAggregationBOOK(String title){Pageable pageable PageRequest.of(0, 3);TermsAggregationBuilder builder1 AggregationBuilders.terms(taxonomy).field(title.keyword);//构建查询NativeSearchQuery build new NativeSearchQueryBuilder().addAggregation(builder1).withPageable(pageable).build();SearchHitsBook search elasticsearchOperations.search(build, Book.class);for (SearchHitBook bookSearchHit : search) {System.out.println(bookSearchHit.getContent());}Aggregations aggregations search.getAggregations();MapString, Aggregation asMap aggregations.getAsMap();return asMap;}应用场景 聚合查询是 Elasticsearch 中的一项重要功能可用于从大量数据中提取有意义的汇总信息和统计结果。以下是聚合查询在 Elasticsearch 中的几个常见应用场景总结 数据分析和统计聚合查询可以对大量数据进行统计和分析如计算平均值、求和、最大值、最小值等。它可以用于生成报表、绘图或执行复杂的数据分析任务。 分组统计聚合查询使我们能够根据指定的字段对数据进行分组并计算每个组的统计结果。例如在电子商务中可以根据商品类别对销售数据进行分组统计以获得每个类别的销售额或销售量。 嵌套聚合Elasticsearch 支持将多个聚合操作嵌套在一起以实现更复杂的统计和分析需求。通过构建多级嵌套聚合可以深入了解数据之间的关系并获取更详细的洞察力。 时间分析聚合查询在时间序列数据分析中非常有用。它可以按照指定的时间间隔对数据进行分桶然后在每个时间段内执行统计分析操作。例如可以按小时、天、周或月对访问日志数据进行时间分析。 桶Bucket分析桶聚合是一种将数据分割为不同桶bucket或区间的聚合方式。可以通过范围、词条匹配或脚本等方式定义桶的条件并对每个桶进行统计分析。 基数和去重计数聚合查询还支持基数统计和去重计数。可以查找某个字段中的唯一值的数量或者对其中的重复值进行计数。 多字段统计Elasticsearch 允许在一个聚合操作中统计多个字段的信息。这对于同时分析多个指标或维度非常有用。 五、高级查询与全文检索 1. 多字段匹配与模糊查询 /*** description: 多字段匹配查询* author: gepengjun* date: 2023/9/7 15:40* param: [field1, field2]* return: java.util.Listcom.example.springelas.elas.entity.Book**/ListBook findByAuthorOrPrice(String field1, String field2);/*** description: 针对一个字段模糊查询* author: gepengjun* date: 2023/9/7 15:40* param: [pattern]* return: java.util.Listcom.example.springelas.elas.entity.Book**/ListBook findByAuthorLike(String pattern);2. 范围查询与正则表达式查询 /*** description: 查询某一个字段根据正则表达式* author: gepengjun* date: 2023/9/7 15:41* param: [regexPattern]* return: java.util.Listcom.example.springelas.elas.entity.Book**/ListBook findByAuthorRegex(String regexPattern);//具体使用即使直接传入一个正则表达式 ListBook entityList esBookRepository.findByAuthorRegex(^abc.*);3. 全文检索与高亮显示 这个就是高亮 Highlight(fields {HighlightField(name title),HighlightField(name author)})Query({\match\:{\title\:\?0\}})SearchHitsBook find(String keyword);六、总结 el的使用就和我们使用的一些orm框架一样所以spring提供的这个和el交互的包放在了data下。
http://www.tj-hxxt.cn/news/231127.html

相关文章:

  • 怎么让网站快速收录沈阳建信建设工程有限公司
  • 建网站的策划方案郑州网络推广专员
  • 微商城网站建设价格建设电动摩托车官网
  • 制作图片海报的软件索引擎优化 seo
  • WordPress手机号码注册seo是什么意思新手怎么做seo
  • 淄博网站制作价格低教育网站改造方案
  • 全景网站app网站开发维护前景
  • 网站怎么建设可以发图评论织梦网站安全
  • 楼宇网站建设网站怎么做筛选功能的代码
  • 广东省网站备案查询京东内部券网站怎么做
  • 软件开发设计制作网站下载八桂职教网官网
  • 做网站的公司有哪些专业做冻货的网站
  • 重庆 网站开发抖音代刷网站推广快速
  • 深圳市建设网络有限公司网站松江手机网站建设
  • 网站文明建设工程包括wordpress模板 古典
  • 网站建设与维护 书域名续费后网站打不开
  • 网站建设谈客户公司平台
  • 四川省住房和城乡建设厅网站企业网站模板库
  • 对外宣传及网站建设文件稿上海英文网站制作
  • 医院网站建设策划书重庆舞台搭建招聘
  • 一个网站域名一年要多少钱wordpress 搜索的过程
  • 做网站最好软件秦皇岛市城乡建设网站
  • 电子商务网站建设试卷.doc互联网推广策划
  • 民宿网站开发的开题报告百度如何快速收录
  • 做兼职设计去哪个网站好家装设计师网站
  • 百度网站提交地址cms建站模板app
  • 有没有网站是免费做店招图片的服务器出租网站
  • 网站开发详细报价网站建设图片属性设置
  • 信用网站建设工作总结o2o网站建设新闻
  • 网站备案有时间吗怎么做公司宣传网站