![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ES
文章平均质量分 59
Java小生不才
因为无能为力,所以顺其自然。因为心无所恃,所以随遇而安
展开
-
商品上架-功能实现(3)
1.在ProductConstant中添加ProductStatusEnumpackage com.atguigu.common.constant;/** * 商品属性类型枚举 * @author zfh */public class ProductConstant { public enum AttrEnum{ ATTR_TYPE_BASE(1,"基本属性"),ATTR_TYPE_SALE(0,"销售属性"); private int code;原创 2021-12-19 20:01:27 · 1208 阅读 · 0 评论 -
商品上架-功能实现(2)
1.common项目中R改为带泛型/** * Copyright (c) 2016-2019 人人开源 All rights reserved. * * https://www.renren.io * * 版权所有,侵权必究! */package com.atguigu.common.utils;import org.apache.http.HttpStatus;import java.util.HashMap;import java.util.Map;/** * 返回数据原创 2021-12-19 16:07:24 · 214 阅读 · 0 评论 -
商品上架-功能实现(1)
1.接口文档2.SpuInfoController中添加spuUp方法 /** * 商品上架 * @param spuId * @return */ @PostMapping("/{spuId}/up") public R spuUp(@PathVariable("spuId") Long spuId) { spuInfoService.up(spuId); return R.ok(); }3.SpuInfoService中添加up方法 void up(原创 2021-12-18 14:15:04 · 1022 阅读 · 0 评论 -
商品上架-ES检索
1.商品上架后台管理员对spu审核进行操作,点击上架。只有当商品上架才应该被检索,即需要导入商品数据到ES中。2.ES模型分析分析:商品上架在 es 中是存 sku 还是 spu?1)、检索的时候输入名字,是需要按照 sku 的 title 进行全文检索的2)、检索使用商品规格,规格是 spu 的公共属性,每个 spu 是一样的3)、按照分类 id 进去的都是直接列出 spu 的,还可以切换。4)、我们如果将 sku 的全量信息保存到 es 中(包括 spu 属性)就太多量字段了。5)、我们原创 2021-12-18 13:47:03 · 1154 阅读 · 0 评论 -
测试ES复杂检索
1.search API详情请参考添加链接描述@Testpublic void searchData() throws IOException { //1. 创建检索请求 SearchRequest searchRequest = new SearchRequest(); //1.1)指定索引 searchRequest.indices("bank"); //1.2)构造检索条件 SearchSourceBuilder sourceBuilder =原创 2021-12-17 11:21:59 · 878 阅读 · 0 评论 -
ES测试保存
1.配置请求选项RequestOptions详情可参考ES官网添加链接描述在GulimallESConfiguration中加入如下配置 /** * 配置请求选项RequestOptions * https://www.elastic.co/guide/en/elasticsearch/client/java-rest/current/java-rest-high-getting-started-request-options.html */ public sta原创 2021-12-16 11:14:18 · 2214 阅读 · 0 评论 -
springboot整合ES
1.新建gulimall-search项目其pom文件如下<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://m原创 2021-12-16 09:38:45 · 1728 阅读 · 0 评论 -
ES进阶(6)-自定义扩展词库
在实际分词中有些分词并不能出现我们预期的分词结果,因此我们可以使用自定义词库1.安装nginx在mydata下创建目录mkdir nginx启动实例docker run -p 80:80 --name nginx 2.拷贝nginx的配置文件将nginx容器内的配置文件拷贝到当前目录docker container cp nginx:/etc/nginx .注意nginx后有空格和点3.删除原有nginx终止原容器docker stop nginx移除原容器d.原创 2021-12-15 16:42:56 · 3567 阅读 · 0 评论 -
ES进阶(5)-分词
1.分词一个 tokenizer(分词器)接收一个字符流,将之分割为独立的 tokens(词元,通常是独立的单词),然后输出 tokens 流。例如,whitespace tokenizer 遇到空白字符时分割文本。它会将文本 “Quick brown fox!” 分割为 [Quick, brown, fox!]。该 tokenizer(分词器)还负责记录各个 term(词条)的顺序或 position 位置(用于 phrase 短语和 word proximity 词近邻查询),以及 term(词条)所原创 2021-12-13 11:24:10 · 2680 阅读 · 0 评论 -
ES进阶(4)-aggregations聚合&Mapping映射
1.aggregations聚合提供了从数据中分组和提取数据的能力。最简单的聚合方法大致等于 SQL GROUPBY 和 SQL 聚合函数。在 Elasticsearch 中,您有执行搜索返回 hits(命中结果),并且同时返回聚合结果,把一个响应中的所有 hits(命中结果)分隔开的能力。这是非常强大且有效的,您可以执行查询和多个聚合,并且在一次使用中得到各自的(任何一个的)返回结果,使用一次简洁和简化的 API 来避免网络往返eg:搜索 address 中包含 mill 的所有人的年龄分布以及平均年原创 2021-12-09 10:56:19 · 1423 阅读 · 0 评论 -
ES进阶(3)
1.bool【复合查询】复合语句可以合并 任何 其它查询语句,包括复合语句,了解这一点是很重要的。这就意味着,复合语句之间可以互相嵌套,可以表达非常复杂的逻辑。2.must 必须达到 must 列举的所有条件GET bank/_search{ "query": { "bool": { "must": [ {"match": { "address": "mill" }}, { "match":原创 2021-12-08 21:24:10 · 295 阅读 · 0 评论 -
ES进阶(2)-match&match_phrase&multi_match
1.match【匹配查询】1.1.基本类型(非字符串),精确匹配GET bank/_search{ "query": { "match": { "account_number" : 20 } }}1.2.字符串,全文检索GET bank/_search{ "query": { "match": { "address" : "Kings" } }}2....原创 2021-12-08 18:57:54 · 1351 阅读 · 0 评论 -
ES进阶(1)-Query DSL基本使用
1.SearchAPIES 支持两种基本方式检索 :通过使用 REST request URI 发送搜索参数(uri+检索参数)GET bank/_search?q=*&sort=account_number:asc响应数据:{ "took" : 21, "timed_out" : false, "_shards" : { "total" : 1, "successful" : 1, "skipped" : 0, "failed" : 0原创 2021-12-08 17:44:39 · 1288 阅读 · 0 评论 -
ElasticSearch入门
1.查询乐观锁保存:更新携带 ?if_seq_no=num&if_primary_term=num2.更新带update会对比源文档数据,如果相同不会有什么操作,文档 version ,seq_no不增加;其中doc不能省略不带update不会对比源文档数据,即使数据相同,依旧会进行更新,文档 version ,seq_no会增加;与put更新一样不带update的post其中doc可以省略更新同时也可以增加属性,当然不带update的post和put更新也支持此操作..原创 2021-12-08 08:17:33 · 1692 阅读 · 0 评论 -
ES初步探索
1._cat命令/_cat/nodes:查看所有节点/_cat/health:查看 es 健康状况/_cat/master:查看主节点/_cat/indices:查看所有索引相当于MySQL中的show databases;2.索引一个文档(保存)保存一个数据,保存在哪个索引的哪个类型下,指定用哪个唯一标识PUT customer/external/1;在 customer 索引下的 external 类型下保存 1 号数据为{ "name": "JAVA"}pos原创 2021-12-07 10:19:35 · 1013 阅读 · 0 评论 -
全文检索-Elasticsearch
1.简介Elasticsearch 是一个分布式的免费开源搜索和分析引擎,适用于包括文本、数字、地理空间、结构化和非结构化数据等在内的所有类型的数据。Elasticsearch 在 Apache Lucene 的基础上开发而成,由 Elasticsearch N.V.(即现在的 Elastic)于 2010 年首次发布。Elasticsearch 以其简单的 REST 风格 API、分布式特性、速度和可扩展性而闻名,是 Elastic Stack 的核心组件;Elastic Stack 是一套适用于数据采原创 2021-12-07 09:37:01 · 201 阅读 · 0 评论 -
elasticsearch7.13.3
1.官网下载(https://www.elastic.co/cn/downloads/)我这以最新版的7.13.3为例2.解压解压目录无中文和特殊字符3.启动4.访问浏览器地址栏中输入http://localhost:9200若是访问到类似上图的json信息表示ES正常运行...原创 2021-07-17 16:35:50 · 337 阅读 · 2 评论