ES在搜索和数据分析中的应用越来越广泛,在之前项目中对ES的使用有些心得,最近有不少朋友和同事都问到了ES,刚好最近也有些时间,所以打算通过8~10篇文章介绍下ES.(其实我也不知道最终会写下多少篇),为了保持阅读的连贯性,可以先看前面几篇文章:
ES搜索引擎入门+最佳实践(一)_flame.liu的博客-优快云博客
ES搜索引擎入门+最佳实践(二)_flame.liu的博客-优快云博客
ES搜索引擎入门+最佳实践(三)_flame.liu的博客-优快云博客
ES搜索引擎入门+最佳实践(四)_flame.liu的博客-优快云博客
ES搜索引擎入门+最佳实践(五)_flame.liu的博客-优快云博客
ES搜索引擎入门+最佳实践(六)_flame.liu的博客-优快云博客
ES搜索引擎入门+最佳实践(七):聚合_flame.liu的博客-优快云博客
一.概要
创建一个电商平台对商品搜索的一个案例.可以实现对商品标题的搜索排序,数据的聚合,排序方式可以考虑有多种:商品相关性,距离,好评率,价格等.
二.准备数据
2.1 准备数据库
使用mysql数据库,表结构设计如下:
CREATE TABLE `product_detail` (
`id` int NOT NULL AUTO_INCREMENT COMMENT '主键',
`uid` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'UID',
`productName` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '商品名称',
`img` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '商品图片',
`tag` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '商品标签',
`location` point NULL COMMENT '发货地经纬度',
`city` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '发货城市',
`originalPrice` decimal(10, 2) NULL DEFAULT NULL COMMENT '原价',
`sellPrice` decimal(10, 2) NULL DEFAULT NULL COMMENT '售价',
`stockNum` int NULL DEFAULT NULL COMMENT '库存',
`createTime` datetime NULL DEFAULT NULL COMMENT '创建时间',
`