spring boot 项目中搭建 ElasticSearch 中间件 一 postman 操作 es

作者:逍遥Sean
简介:一个主修Java的Web网站\游戏服务器后端开发者
主页:https://blog.youkuaiyun.com/Ureliable
觉得博主文章不错的话,可以三连支持一下~ 如有需要我的支持,请私信或评论留言!

本文是ElasticSearch 的入门文章,包含ElasticSearch 的环境准备和基础操作(使用postman)
ElasticSearch 系列文章目的是使用ElasticSearch结合spring boot项目实现项目的搜索功能。
系列文章 :

spring boot 项目中搭建 ElasticSearch 中间件 二 java api 操作 es
spring boot 项目中搭建 ElasticSearch 中间件 三 spring data 操作 es

1. 简介

存储,检索数据
集群扩展
PB级处理数据
全文检索,分析
日志管理

2. 环境

本文使用 elasticsearch-7.10.0
不同的jdk版本要使用适配的es版本
最新es与jdk适配图

elasticsearch-7.10.0-windows-x86_64\elasticsearch-7.10.0\bin

下载后在bin中点击 elasticsearch.bat 启动es
默认端口是9200
es有几个重要概念

  • 索引:index 类似数据库中的表,一个索引可以理解为一个表
  • 文档:doc 类似数据库中的行,一个文档可以理解为一行数据
  • 倒排索引:数据库中的id一般是 :
    id(1001) - > name("zhang san"), type("man"),es进行分词 建立一个"zhang " -> 1001和 “san” -> 1001就是倒排索引

3. postman操作索引

3.1 创建索引

注:以下操作 以索引名为product为例
注:域名前表示请求类型

// 请求类型
post
// 域名
http://localhost:9200/product
3.2 查看索引
// 请求类型
get
// 域名
http://localhost:9200/product
3.3 查看所有索引
// 请求类型
get
// 域名
http://localhost:9200/_cat/indices?v
3.4 删除索引
// 请求类型
delete
// 域名
http://localhost:9200/product

4. postman操作文档

4.1 添加文档

注:以下操作 以索引名为product为例
注:域名前表示请求类型
注:以下使用1001作为文档唯一id,可以不填,es会创建一个唯一id
注:_doc为固定写法表示操作文档

// 请求类型
post
// 域名
http://localhost:9200/product/_doc/1001
// 请求体body
{
    "title":"小米手机",
    "category":"小米",
    "image":"http://www.sean.com/xm.jpg",
    "price":10000
}
4.2 查询文档
// 请求类型
get
// 域名
http://localhost:9200/product/_doc/1001
4.3 查询全部文档
// 请求类型
get
// 域名
http://localhost:9200/product/_search
4.4 更新文档
// 请求类型
put
// 域名
http://localhost:9200/product/_doc/1001
// 请求体body
{
    "title":"华为手机",
    "category":"小米",
    "image":"http://www.sean.com/xm.jpg",
    "price":10000
}
4.5 局部更新文档
// 请求类型
post
// 域名
http://localhost:9200/product/_update/1001
// 请求体body
{
    "doc": {
        "title":"mi手机"
    }
}
4.6 删除文档
// 请求类型
delete
// 域名
http://localhost:9200/product/_doc/1001
4.7 条件查询文档1
// 请求类型
get
// 域名
http://localhost:9200/product/_search?q=category:小米

4.8 条件查询文档2
// 请求类型
get
// 域名
http://localhost:9200/shopping/_search
// 请求体body
{
    "query" : {
        "match" : {
            "category" : "小米"
        }
    }
}
4.9 条件查询文档 limit

分页查询

// 请求类型
get
// 域名
http://localhost:9200/shopping/_search
// 请求体body
{
    "query" : {
        "match" : {
            "category" : "小米"
        }
    },
    "from": 0,
    "size": 1
}
4.10 条件查询文档 less

只显示一个title字段

// 请求类型
get
// 域名
http://localhost:9200/shopping/_search
// 请求体body
{
    "query" : {
        "match" : {
            "category" : "小米"
        }
    },
    "from": 0,
    "size": 1,
    "_source":["title"]
}
<think>嗯,用户问的是基于微信小程序、Spring Boot和Vue的系统测试时的运行环境配置。首先,我需要理清楚这三个部分各自需要什么样的环境。微信小程序主要是在前端,可能需要微信开发者工具和些特定的配置。Spring Boot是后端,需要Java环境、数据库比如MySQL,还有Maven或Gradle这样的构建工具。Vue作为前端框架,可能需要Node.js和npm或者yarn。 然后,用户提到的系统测试,可能包括单元测试、接口测试和UI测试。不同的测试类型可能需要不同的环境配置。比如单元测试可能只需要本地环境,而接口测试可能需要后端服务运行起来,数据库连接正常。UI测试可能需要模拟微信小程序的环境,或者使用真机调试。 接下来,运行环境配置应该分开发环境和生产环境来说吗?不过用户特别提到的是系统测试,可能更关注测试时的环境,可能和生产环境类似,但可能使用测试数据库和模拟数据。需要确保各个组件之间的通信,比如小程序前端通过API调用Spring Boot后端,Vue管理端同样连接后端,所以需要配置正确的IP和端口,避免跨域问题。 还要考虑依赖服务的配置,比如Redis缓存、Nginx反向代理,或者消息队列如RabbitMQ,这些在测试环境中是否需要搭建。比如,如果项目用到了Redis做缓存,测试环境也需要安装并配置Redis服务。 另外,测试时可能需要持续集成工具,比如Jenkins,自动化测试脚本的运行环境,比如Selenium或者Jest,这些可能需要额外的配置。不过用户的问题可能更偏向于基础的运行环境,而不是CI/CD流程。 还要注意版本兼容性,比如Java的版本是否与Spring Boot匹配,Node.js的版本是否支持Vue项目,微信开发者工具的版本是否支持小程序的API。这些版本问题可能导致环境配置失败。 可能用户在实际配置中会遇到问题,比如数据库连接失败,端口被占用,跨域请求被阻止,或者依赖包版本冲突。需要给出常见问题的解决方法,比如检查数据库配置,关闭占用端口的进程,配置CORS,或者使用虚拟环境管理工具。 最后,参考用户提供的引用链接,那个项目可能使用了uniapp,但用户的问题是关于微信小程序、Spring Boot和Vue的,可能需要区分uniapp和原生微信小程序的配置差异。不过引用中的项目可能是个实例,可以建议用户参考类似项目的配置,或者查看源码中的环境配置文档。 总结下,回答需要分三个部分:后端Spring Boot的环境,前端微信小程序和Vue的环境,以及测试时的配置步骤和注意事项。同时,给出常见问题的解决方法和参考资源,确保用户能够逐步配置成功。</think>### 微信小程序 + Spring Boot + Vue 系统测试运行环境配置指南 #### 、后端环境(Spring Boot) 1. **基础环境** - JDK 11+(推荐OpenJDK或Oracle JDK) - Maven 3.6+ 或 Gradle 7.x - MySQL 8.0+ / MariaDB 10.5+(需配置字符集utf8mb4) ```bash # MySQL配置示例 [mysqld] character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci ``` - Redis 6.x(如需缓存服务) 2. **依赖服务** - 安装Spring Boot项目依赖的中间件(如RabbitMQ、Elasticsearch等) - 配置`application-test.properties`测试专用配置文件: ```properties spring.datasource.url=jdbc:mysql://localhost:3306/test_db?useSSL=false spring.datasource.username=testuser spring.datasource.password=test123 ``` #### 二、前端环境(微信小程序 + Vue) 1. **微信小程序** - 微信开发者工具最新版(需登录开发者账号) - 配置`project.config.json`中的AppID和接口域名白名单 ```json { "appid": "wx1234567890abcdef", "urlCheck": false, "uploadExclude": ["**/*.map"] } ``` 2. **Vue管理端** - Node.js 16.x+(推荐使用nvm管理版本) - npm 8.x 或 yarn 1.22+ ```bash # 安装依赖 npm install --registry=https://registry.npmmirror.com ``` #### 三、测试环境配置步骤 1. **后端启动** ```bash mvn spring-boot:run -Dspring-boot.run.profiles=test ``` - 确保接口文档(Swagger)可访问:`http://localhost:8080/swagger-ui.html` 2. **微信小程序联调** - 配置`src/config/api.js`中的测试环境API地址 ```javascript export const API_BASE = 'http://192.168.1.100:8080/api' // 需与后端IP致 ``` - 开启开发者工具「不校验合法域名」选项 3. **Vue管理端联调** ```bash npm run serve -- --mode test ``` - 配置`vue.config.js`代理解决跨域 ```javascript devServer: { proxy: { '/api': { target: 'http://localhost:8080', changeOrigin: true } } } ``` #### 四、常见问题解决方案 | 问题现象 | 排查方向 | 解决方案 | |---------|---------|---------| | 数据库连接失败 | 检查MySQL用户权限<br>验证JDBC URL格式 | 创建测试专用用户:<br>`CREATE USER 'testuser'@'%' IDENTIFIED BY 'test123';` | | 跨域请求被拦截 | 检查响应头`Access-Control-Allow-Origin` | Spring Boot添加`@CrossOrigin`注解<br>或配置全局CORS过滤器 | | 小程序真机无法访问API | 确认域名已备案且加入微信白名单 | 测试阶段使用开发者工具「不校验域名」选项[^1] | | Vue页面接口404 | 验证代理配置与后端运行状态 | 使用Postman直接测试接口可用性 | #### 五、测试环境验证清单 1. 后端服务健康检查:`/actuator/health` 2. 数据库测试连接:`SELECT 1 FROM dual` 3. 小程序页面加载测试:核心页面渲染不超过2秒 4. 接口压力测试:使用JMeter模拟50并发用户 > 注:实际配置需参考项目源码中的`README.md`和`deploy`目录下的部署文档[^1] 相关问题
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

逍遥Sean

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值