028-从零搭建微服务-搜索服务(二)

这篇具有很好参考价值的文章主要介绍了028-从零搭建微服务-搜索服务(二)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

写在最前

如果这个项目让你有所收获,记得 Star 关注哦,这对我是非常不错的鼓励与支持。

源码地址(后端):https://gitee.com/csps/mingyue-springcloud-learning

源码地址(前端):https://gitee.com/csps/mingyue-springcloud-ui

文档地址:https://gitee.com/csps/mingyue-springcloud-learning/wikis

搜服服务

更多用法可以参考 Easy-Es 官方文档:https://www.easy-es.cn/pages/04414d/

精确查询

@GetMapping("/accurate")
@Operation(summary = "精确查询", parameters = { @Parameter(name = "key", description = "标题", required = true) })
public Document accurate(String title) {
  LambdaEsQueryWrapper<Document> wrapper = new LambdaEsQueryWrapper<>();
  wrapper.eq(Document::getTitle, title);
  return documentMapper.selectOne(wrapper);
}

测试接口

curl -X 'GET' \
  'http://mingyue-gateway:7100/search/crudDemo/accurate?title=%E7%99%BB%E9%AB%98' \
  -H 'accept: */*'

接口返回

{
  "code": 200,
  "msg": "操作成功",
  "data": {
    "id": "1",
    "title": "登高",
    "content": "风急天高猿啸哀,渚清沙白鸟飞回。"
  }
}

模糊查询

@GetMapping("/fuzzy")
@Operation(summary = "模糊查询", parameters = { @Parameter(name = "key", description = "搜索关键字", required = true) })
public List<Document> fuzzy(String key) {
  LambdaEsQueryWrapper<Document> wrapper = new LambdaEsQueryWrapper<>();
  wrapper.like(Document::getTitle, key);
  return documentMapper.selectList(wrapper);
}

测试接口

curl -X 'GET' \
  'http://mingyue-gateway:7100/search/crudDemo/fuzzy?key=%E9%AB%98' \
  -H 'accept: */*' \
  -H 'Authorization: 6H1mlA91zFRa5yEpIl2b2mnCjbG5B44f'

接口返回

{
  "code": 200,
  "msg": "操作成功",
  "data": [
    {
      "id": "1",
      "title": "登高",
      "content": "风急天高猿啸哀,渚清沙白鸟飞回。"
    }
  ]
}

添加

@PostMapping("/insert")
public Integer insert(@RequestBody Document document) {
    return documentMapper.insert(document);
}

测试接口

curl -X 'POST' \
  'http://mingyue-gateway:7100/search/crudDemo/add' \
  -H 'accept: */*' \
  -H 'Authorization: 6H1mlA91zFRa5yEpIl2b2mnCjbG5B44f' \
  -H 'Content-Type: application/json' \
  -d '{
  "id": "2",
  "title": "草",
  "content": "离离原上草,一岁一枯荣。野火烧不尽,春风吹又生。"
}'

接口返回

{
  "code": 200,
  "msg": "操作成功",
  "data": true
}

更新

@PutMapping("/update")
public R<Boolean> update(@RequestBody Document document) {
  return R.ok(documentMapper.updateById(document) > 0);
}

测试接口

curl -X 'PUT' \
  'http://mingyue-gateway:7100/search/crudDemo/update' \
  -H 'accept: */*' \
  -H 'Authorization: 6H1mlA91zFRa5yEpIl2b2mnCjbG5B44f' \
  -H 'Content-Type: application/json' \
  -d '{
  "id": "1",
  "title": "登高",
  "content": "风急天高猿啸哀,渚清沙白鸟飞回。无边落木萧萧下,不尽长江滚滚来。"
}'

接口返回

{
  "code": 200,
  "msg": "操作成功",
  "data": true
}

删除

@DeleteMapping("/delete/{id}")
@Operation(summary = "删除文档",
    parameters = { @Parameter(in = ParameterIn.PATH, name = "id", description = "ID", required = true) })
public R<Integer> delete(@PathVariable String id) {
  return R.ok(documentMapper.deleteById(id));
}

测试接口

curl -X 'DELETE' \
  'http://mingyue-gateway:7100/search/crudDemo/delete/2' \
  -H 'accept: */*' \
  -H 'Authorization: 6H1mlA91zFRa5yEpIl2b2mnCjbG5B44f'

接口返回

{
  "code": 200,
  "msg": "操作成功",
  "data": true
}

小结

搜素服务基础功能已经完成,列一下未来搜索服务的功能吧:

  1. 数据同步,同步业务数据库中数据;
  2. 分页查询示例;
  3. 聚合、排序查询示例;
  4. 分词&模糊匹配示例;
  5. 。。。

搜素服务暂时先停一哈,准备接下来给 mingyue 集成一个消息队列,敬请期待吧~~~文章来源地址https://www.toymoban.com/news/detail-731137.html

到了这里,关于028-从零搭建微服务-搜索服务(二)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 从零开始搭建搜索推荐系统(五十三)QUERY从分词检索进阶

    聊的不止技术。跟着小帅写代码,还原和技术大牛一对一真实对话,剖析真实项目筑成的一砖一瓦,了解最新最及时的资讯信息,还可以学到日常撩妹小技巧哦,让我们开始探索主人公小帅的职场生涯吧! (PS:本系列文章以幽默风趣风格为主,较真侠和杠精请绕道~) 一、

    2024年02月04日
    浏览(35)
  • 从零开始:如何使用Docker构建微服务架构

    使用 Docker 构建微服务架构是一种流行的方法,因为 Docker 提供了轻量级的容器化技术,使得每个微服务可以在隔离的环境中独立运行。从零开始构建这样的架构涉及到多个步骤,包括理解微服务架构的基本概念、安装 Docker、创建 Docker 容器和镜像、配置网络,以及部署和管理

    2024年04月14日
    浏览(58)
  • 深入探索JavaEE单体架构、微服务架构与云原生架构

    链接: https://pan.baidu.com/s/1xSI1ofwYXfqOchfwszCZnA?pwd=4s99 提取码: 4s99 复制这段内容后打开百度网盘手机App,操作更方便哦 --来自百度网盘超级会员v4的分享 🔍【00】模块零:开营直播:精彩直播课程带你全面了解最新技术动态,为学习之旅打下良好基础!🎥💻 🏠【01】模块一:

    2024年02月12日
    浏览(44)
  • 浅析云原生时代的服务架构演进

    摘要: 相比于传统的微服务架构,云原生和 serverless 技术更加灵活、高效,能够更好地满足用户的需求。 本文分享自华为云社区《《凤凰架构》学习和思考——云原生时代的服务架构演进史》,作者:breakDawn。 随着云原生的概念越来越火,服务的架构应该如何发展和演进,

    2023年04月10日
    浏览(76)
  • 微服务架构2.0--云原生时代

    云原生(Cloud Native)是一种关注于在云环境中构建、部署和管理应用程序的方法和理念。云原生应用能够最大程度地利用 云计算基础设施的优势,如弹性、自动化、可伸缩性和高可用性 。这个概念涵盖了许多方面,包括 架构、开发、部署、运维 和团队文化等 容器化: 将应

    2024年02月11日
    浏览(37)
  • 018-从零搭建微服务-系统服务(五)

    如果这个项目让你有所收获,记得 Star 关注哦,这对我是非常不错的鼓励与支持。 源码地址(后端):https://gitee.com/csps/mingyue-springcloud-learning 源码地址(前端):https://gitee.com/csps/mingyue-springcloud-ui 文档地址:https://gitee.com/csps/mingyue-springcloud-learning/wikis 之前我们设计了权限模

    2024年02月14日
    浏览(35)
  • 009-从零搭建微服务-系统服务(二)

    如果这个项目让你有所收获,记得 Star 关注哦,这对我是非常不错的鼓励与支持。 源码地址(后端):https://gitee.com/csps/mingyue-springcloud-learning 源码地址(前端):https://gitee.com/csps/mingyue-springcloud-ui 文档地址:https://gitee.com/csps/mingyue-springcloud-learning/wikis 基础的东西就不再写了

    2024年02月08日
    浏览(43)
  • 023-从零搭建微服务-推送服务(三)

    原【短信服务】更名【推送服务】 如果这个项目让你有所收获,记得 Star 关注哦,这对我是非常不错的鼓励与支持。 源码地址(后端):https://gitee.com/csps/mingyue-springcloud-learning 源码地址(前端):https://gitee.com/csps/mingyue-springcloud-ui 文档地址:https://gitee.com/csps/mingyue-springc

    2024年02月10日
    浏览(32)
  • 017-从零搭建微服务-系统服务(四)

    如果这个项目让你有所收获,记得 Star 关注哦,这对我是非常不错的鼓励与支持。 源码地址(后端):https://gitee.com/csps/mingyue-springcloud-learning 源码地址(前端):https://gitee.com/csps/mingyue-springcloud-ui 文档地址:https://gitee.com/csps/mingyue-springcloud-learning/wikis 设计思路:通过用户关

    2024年02月16日
    浏览(37)
  • 024-从零搭建微服务-系统服务(六)

    如果这个项目让你有所收获,记得 Star 关注哦,这对我是非常不错的鼓励与支持。 源码地址(后端):https://gitee.com/csps/mingyue-springcloud-learning 源码地址(前端):https://gitee.com/csps/mingyue-springcloud-ui 文档地址:https://gitee.com/csps/mingyue-springcloud-learning/wikis mingyue-ui 目前与后端交

    2024年02月09日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包