
elasticsearch
我才是真的封不觉
某外企高级开发,菜鸟一个,希望在博客记录自己技术的成长,目标是成为一个好脾气的技术大牛。
b站账号 觉哥学java
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
day117-商城业务-检索服务-SearchRequest构建-检索+排序、分页、高亮+聚合&测试
1.DSL语句概览与分析 此篇我要做的就是完成DSL代码层面的实现,大致的结构如下,详细的DSL语句上篇已经贴出来了 包含计算分数的must查询与不计算的filter外面被bool然后最外面被query对象包着 然后是排序,然后是分页,然后是高亮,最后是聚合分析 2.上代码 ...原创 2021-04-02 07:21:46 · 774 阅读 · 0 评论 -
day116-商城业务-检索服务-检索DSL测试-聚合部分
1.修改映射中的内容 老的映射为如下,可以看到许多字段的index及doc_values都为false,那么这些字段将无法用于检索与内容的显示 { "product" : { "mappings" : { "properties" : { "attrs" : { "type" : "nested", "properties" : { "attrId" : { "t...原创 2021-04-01 21:10:25 · 222 阅读 · 0 评论 -
day115-商城业务-检索服务-检索DSL测试-查询部分
1.DSL回顾 从上次敲DSL已经过了两三个月了,这次再来试试 如下是查询的啥?查询的是标题包含华为没有库存,商品品牌id为6或8的商品 知识点:组合查询使用bool,match分词后收索,term使用一整个关键词去搜索不进行分词,filter不会去计算任何分值,也不会关心返回的排序问题,因此 比must啥的效率会高一点 GET product/_search { "query": { "bool": { "must": [ { "match": {原创 2021-04-01 01:34:52 · 236 阅读 · 0 评论 -
day80-商城业务-商品上架--构造基本数据+构造sku检索属性+远程查询库存+远程上架接口+抽取响应结果
此篇文章算是几篇整合为一篇了 核心代码如下,大致逻辑页面点击SPU上的上架,根据spu查出其下sku以及相关规格属性等等,把各信息封装到 skuEsModels中,然后调用第二部分代码进行上架,也就是保存到ES中,方便后面检索,保存完之后,改库存+改状态 中间一些查库存更新库存的接口没贴出来 @Override @Transactional public void spuUp(Long spuId) { List<SkuInfoEntity>原创 2021-01-11 17:34:28 · 312 阅读 · 0 评论 -
day79-商城业务-商品上架-nested数据类型场景
当数据类型为数组时,数据会被扁平化处理,此时需把数据类似定义为nested 所以我们这把属性集合的类型定义为nested原创 2020-12-27 23:11:30 · 190 阅读 · 0 评论 -
day78-商城业务-商品上架-sku在es中存储模型分析
1.会在日志与商品全文检索中使用到es,日志部分后面再说下面会说商品的全文检索 2.如下全文检索将会用es而不是mysql,为什么呢 1.mysql全文检索没有es强大 2.es中数据保存在内存中,性能会比mysql优很多,当内存不够的时候咋办呢,分片,支持分布式,容量无限, 但是设计的时候还是尽量要节省,因为内存产品比硬盘要贵很多 3.存储模型的分析与确定 将数据从mysql保存到es称为上架 上架的商品才可以在网站上被展示与检索 以下是一个我们检索大致需要的属性的列举,第一...原创 2020-12-27 23:00:49 · 516 阅读 · 1 评论 -
day77-全文检索-ElasticSearch-整合-测试复杂检索
1.本文主要参考链接 https://www.elastic.co/guide/en/elasticsearch/client/java-rest/current/java-rest-high-search.html 2.代码 @Test public void searchData() throws IOException { // SearchRequest searchRequest = new SearchRequest(); // search原创 2020-12-24 10:00:09 · 460 阅读 · 0 评论 -
day76-全文检索-ElasticSearch-整合-测试保存
以下内容都是参考此链接https://www.elastic.co/guide/en/elasticsearch/client/java-rest/current/java-rest-high-create-index.html 1.ElasticConfiguration类中添加如下配置 private static final RequestOptions COMMON_OPTIONS; static { RequestOptions.Builder builder原创 2020-12-21 17:24:27 · 182 阅读 · 0 评论 -
day75-ElasticSearch-整合-SpringBoot整合high-level-client
1.API选择 - high-level-client high-level-client是对low-level-client进行了封装就如mybatis与jdbc的关系 2.创建search模块 使用spring initializer创建maven模块 因为默认创建出来后父版本会是最新的版本 将父版本改为之前其他模块版本一致 看到父版本的依赖是6.8.6版本,复制过来并改为7.4.2版本 3.引入common依赖 添加注册服务的相关配置 ...原创 2020-12-21 15:32:35 · 356 阅读 · 0 评论 -
day74-ElasticSearch-分词- 自定义扩展词库
1.为了nginx容器配置,执行如下代码,若没有nginx容器会从远程拉取 docker run -p 80:80 --name nginx \ -v /mydata/nginx/html:/usr/share/nginx/html \ -v /mydata/nginx/logs:/var/log/nginx \ -v /mydata/nginx/conf/:/etc//nginx \ -d nginx:1.10 POST _analyze 2.如下内存不太够,调大点 virtualbo..原创 2020-12-21 03:00:52 · 456 阅读 · 0 评论 -
day73-ElasticSearch-分词-分词&安装ik分词
1.分词器 想要更深入理解可以看看http://3dobe.com/archives/44/ 2.演示 从下面三图可以看出,该分词器对中文不太友好,官网上几种分词器都是针对中文的,这个时候我们需要从github上去下载ik分词器 3.安装IK分词器前,先做如下操作,方便文件的传输 4.安装IK分词器 下载链接https://github.com/medcl/elasticsearch-analysis-ik//releases/tag/v7.4.2 由于我们做了文件的挂载.原创 2020-12-20 01:22:32 · 230 阅读 · 2 评论 -
day72 -全文检索-ElasticSearch-进阶- 映射的查询,创建与修改
前言 7已经把类型概念作为过期内容,8将彻底废弃,以后一个索引就一个类型,原因如下 1.查询 GET /索引名/_mapping 2.新增 3.修改 起始不存在修改,因为字段已经绑定上数据,修改了映射类型算啥? 所以只能创建新的索引,然后做数据的迁移 (1)新索引的创建 类似如下,其中index属性置为false时,该字段将不能索引文档 (2)数据的迁移 ...原创 2020-12-16 23:35:37 · 176 阅读 · 0 评论 -
谷粒商城day71 -全文检索-ElasticSearch-进阶-aggregations聚合分析
链接https://www.elastic.co/guide/en/elasticsearch/reference/7.10/search-aggregations.html 现在我带大家来入门学习 如下我先查出address 模糊匹配mill的数据,类似于sql中的like 第一个聚合 现在我发现查出四条数据,我还想看看他们的年龄分布, 这个时候需要使用aggs 然后加入一个聚合对象,然后里面是聚合类型是terms用来查看分布最里层声明是哪个属性 可以看到右侧的结果,...原创 2020-12-14 14:00:41 · 276 阅读 · 0 评论 -
谷粒商城day70-全文检索-ElasticSearch-进阶-两种查询方式与QSDL入门
关于elasticsearch的安装与基本的增删改查已经在前面有所讲解,此篇以几个常用例子带大家入门ES的基本检索方式 第一种 相当于get请求,在请求后面拼各种参数不常用,这里不多说 第二种 相当于post请求,有个请求体 https://www.elastic.co/guide/en/elasticsearch/reference/current/getting-started-search.html 比如 以某个字段升序查全部数据 如果不指定分页具体参数时,是默认...原创 2020-12-13 22:54:08 · 400 阅读 · 0 评论 -
谷粒商城day69 -全文检索-bulk批量操作导入样本测试数据
1._bulk语法如下 分两部分 上面为索引,下面为数据 2.测试与导入测试数据 测试 测试数据链接如下 https://github.com/elastic/elasticsearch/blob/master/docs/src/test/resources/accounts.json 导入测试数据,用以后面的学习 可以看到在bank文档下有一千条数据 ...原创 2020-12-12 14:25:19 · 838 阅读 · 2 评论 -
谷粒商城day68 -全文检索-ElasticSearch基本增删改查
1._cat 2.put & post 新增与修改数据 put请求:必须带ID ID不存在为新增 存在则为修改 post请求 可带ID可不带 新增:不带ID或者ID不存在 修改 :带ID且ID已存在 带 _update的话数据必须用doc如: _update会在更新的时候比较原数据,若数据没有发生改变则取消更新 3.get查询数据&乐观锁字段 需要先把这俩字段查询出来,然后并发修改时携带若发生变化则取消修改,重新查了再修改...原创 2020-12-12 13:18:52 · 247 阅读 · 0 评论 -
谷粒商城day67 -全文检索-ElasticSearch-Docker安装ES与Kibana以及设置自动启动
其实步骤与之前安装mysql与redis大同小异,安装,映射端口及文件夹等 具体我就不浪费时间贴我的指令了,看这篇https://blog.youkuaiyun.com/Q010_/article/details/107445061 记得把多余单引号去掉就好原创 2020-12-11 21:54:08 · 770 阅读 · 1 评论 -
谷粒商城day80 -我对elasticsearch的初印象
详细介绍我是看的这篇博客https://www.jianshu.com/p/60b242cbd8b4 目前还没使用过,收索一些资料知道他有如下特点 1.可用于大数据量(PB级)的查询 2.查询方式是啥倒排索引查询,就是分词然后查出来后有个相关度,然后根据相关度的大小进行排序, 典型的用空间换时间 3.底层是lucene,封装了RESTFUL API方便使用,入门简单 4.跟数据库类似 其实ES功能就像一个关系型数据库,在这个数据库我们可以往里面添加数据,查询数据。 ES中的索引非传统索引的含原创 2020-10-14 11:21:31 · 212 阅读 · 0 评论