做新媒体的小说网站中国建设企业银行登录网站

张小明 2025/12/31 20:49:52
做新媒体的小说网站,中国建设企业银行登录网站,重庆网站模板制作,建立专业的官方网站第一步#xff1a;本地起一个 ES第二步#xff1a;Java 项目引入依赖第三步#xff1a;定义一个实体类第四步#xff1a;写个 Repository第五步#xff1a;试试写入和查询遇到的问题 小技巧最后说两句最近我们团队开始在新项目里用 Elasticsearch#xff08;简称 E…第一步本地起一个 ES第二步Java 项目引入依赖第三步定义一个实体类第四步写个 Repository第五步试试写入和查询遇到的问题 小技巧最后说两句最近我们团队开始在新项目里用 Elasticsearch简称 ES主要是为了做订单和用户的模糊搜索。以前用数据库 LIKE 查询慢得要死特别是数据量一大用户搜个名字都卡半天。后来老大说“试试 ES 吧搞不好真香。” 我就硬着头皮上手了结果发现——真的没那么难。这篇文章就是我踩坑后整理的“人话版”入门指南不讲原理只讲怎么快速跑起来。目标是10 分钟内让你的 Java 项目能往 ES 里写数据、也能查出来。第一步本地起一个 ES别一上来就想着集群、分片、副本。先本地跑起来再说。我用的是 Docker一行命令搞定docker run -d --name es -p9200:9200 -p9300:9300 -ediscovery.typesingle-nodedocker.elastic.co/elasticsearch/elasticsearch:8.12.0注意ES 8 默认开启安全认证对新手不太友好。如果你只是本地测试可以加个环境变量关掉-expack.security.enabledfalse跑起来后浏览器访问http://localhost:9200看到一堆 JSON 信息说明 OK 了。第二步Java 项目引入依赖我们用的是 Spring Boot所以直接加 starterdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-elasticsearch/artifactId/dependency然后在application.yml里配一下地址spring:elasticsearch:uris:http://localhost:9200如果你关了安全认证这样就行。如果开了还得配用户名密码但新手建议先关掉省事。第三步定义一个实体类假设我们要存“用户”信息比如 ID、姓名、手机号、邮箱。Document(indexNameuser)publicclassUser{IdprivateStringid;privateStringname;privateStringphone;privateStringemail;// getter / setter 省略}这里关键就两行Document(indexName user)告诉 ES这个类对应 ES 里的user索引你可以理解成“表”。Id主键ES 会用它做文档 ID。我们的经验是字段名尽量用英文小写别用下划线避免映射出问题。第四步写个 RepositorySpring Data 给我们提供了超简单的操作方式publicinterfaceUserRepositoryextendsElasticsearchRepositoryUser,String{// 按名字模糊搜ListUserfindByNameContaining(Stringname);}就这一行继承ElasticsearchRepository泛型填你的实体类和 ID 类型CRUD 方法都有了。那个findByNameContaining是 Spring Data 的命名规则意思是“名字包含 xxx”。ES 会自动转成全文检索不用写查询语句。第五步试试写入和查询写个测试方法SpringBootTestclassEsTest{AutowiredprivateUserRepositoryuserRepository;TestvoidsaveUser(){UserusernewUser();user.setId(1);user.setName(张三);user.setPhone(13800138000);user.setEmail(zhangsanexample.com);userRepository.save(user);}TestvoidsearchUser(){ListUserusersuserRepository.findByNameContaining(张);users.forEach(System.out::println);}}先跑saveUser()再跑searchUser()控制台应该能打出“张三”。我认为这比写 SQL 简单多了尤其是模糊匹配数据库要加%还可能走不到索引ES 天然支持。遇到的问题 小技巧索引没自动创建Spring Data 默认会在第一次 save 时自动建索引。但如果字段类型复杂比如嵌套对象可能需要手动建 mapping。新手先用简单字段基本没问题。中文搜不准默认的分词器对中文不友好。比如搜“张三”可能拆成“张”和“三”但如果你搜“张三丰”可能就匹配不上。我们的做法是先用默认的跑通流程等业务稳定了再单独处理中文分词比如集成 ik 分词器。别一上来就想完美容易劝退。ID 到底用啥我们一般用业务主键比如用户 ID 字符串而不是让 ES 自动生成。这样方便和数据库对齐。最后说两句ES 确实强大但新手最容易犯的错就是“想一口吃成胖子”——又是调分片又是搞高亮又是聚合分析……结果连最基础的增删改查都没跑通。在我看来先让它跑起来能用就行。等真遇到性能问题或功能瓶颈再深入优化。大部分中小项目用默认配置 简单查询已经能解决 90% 的搜索需求了。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

dw做网站教程视频南昌网站建设规划方案

AutoCAD字体管理革命:智能化解决方案彻底告别设计困扰 【免费下载链接】FontCenter AutoCAD自动管理字体插件 项目地址: https://gitcode.com/gh_mirrors/fo/FontCenter 在工程设计领域,字体缺失问题一直是困扰设计师的顽疾。打开DWG文件时出现的…

张小明 2025/12/31 9:36:34 网站建设

聊城企业门户网站建设无锡高端网站设计公司价格

Moonlight安卓串流:3大场景实现手机畅玩PC游戏 【免费下载链接】moonlight-android GameStream client for Android 项目地址: https://gitcode.com/gh_mirrors/mo/moonlight-android Moonlight安卓串流项目通过创新的游戏串流技术,将PC端的3A大作…

张小明 2025/12/31 12:07:25 网站建设

烟台建设企业网站建设网站的法律可行性分析

网络安全工具与认证系统设计解析 1. 密码破解程序 在网络安全领域,密码破解是一项重要的技术,它可以帮助我们检测密码的安全性。这里介绍一个简单的密码破解程序。 该程序的主要功能是逐行读取密码文件,并对每个密码进行多次猜测尝试。具体步骤如下: 1. 从密码文件条目…

张小明 2025/12/31 12:07:23 网站建设

dede建设网站网页设计师的发展路径

设计模式-控制反转【golang】 听不懂的概念 将程序中对象的创建、依赖管理的控制权,从代码内部转移到外部容器/框架 获取mysql数据,存入redis package mrimport ("fmt""log""os""testing" )type Database int…

张小明 2025/12/31 12:07:21 网站建设

西安企业黄页网站泰安集团网站建设方案

LZ4性能飞跃:汇编优化的速度革命 【免费下载链接】lz4 Extremely Fast Compression algorithm 项目地址: https://gitcode.com/GitHub_Trending/lz/lz4 在数据洪流席卷的数字时代,LZ4压缩引擎通过精妙的汇编加速技术实现了性能的突破性提升。这种…

张小明 2025/12/31 12:07:19 网站建设

开发公众号 微网站开发WordPress图片直链插件

Qwen图像融合技术突破:让AI成为你的专业图像合成师 【免费下载链接】Fusion_lora 项目地址: https://ai.gitcode.com/hf_mirrors/dx8152/Fusion_lora 在数字内容创作日益普及的今天,图像融合技术正从专业工作室走向大众用户。基于Qwen-Image-Edi…

张小明 2025/12/31 12:07:18 网站建设