JavaWeb
文章平均质量分 51
介绍JavaWeb相关的应用知识
Gratitute_林腾
努力学习的程序员,菜就多练!!!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
phython-通过FastAPI部署python代码
es-将知识库中的数据转换为向量存储到es并进行相似性检索-优快云博客的扩展。原创 2025-03-15 20:44:50 · 484 阅读 · 0 评论 -
Mysql-多表查询_外连接
左外连接指的是以左表为基准,会完全包含左表的数据,也包含两张表交集部分的数据。右外连接指的是以右表为基准,会完全包含右表的数据,也包含两张表交集部分的数据。原创 2025-03-04 16:15:42 · 177 阅读 · 0 评论 -
ES-自动补全_拼音分词器_自定义分词器
其中,过滤器还有其他属性设置,可参考https://github.com/medcl/elasticsearch-analysis-pinyin测试先配置并创建索引库# 自定义拼音分词器PUT /test},"py":{},"name":{"text":["如家酒店还不错"],注意。原创 2025-01-03 14:16:48 · 343 阅读 · 0 评论 -
ES-聚合
设置第一个size为0,效果是结果中不包含文档,只包含聚合结果,这样可以减少数据传输时的网络负担。注意:所有的聚合都是针对文档中的某个字段去做的,且参与聚合的字段只能是不分词的字段。注意:因为是在分类的基础上做度量聚合,所有度量聚合是写在桶聚合里面的。原创 2025-01-02 18:15:22 · 389 阅读 · 0 评论 -
ES-JavaRestClient查询_高亮显示
可以看到,最后解析出来的结果时没有高亮的,因为我们解析的是_source字段,该字段保存的是源数据,不会发生变化。所以我们需要专门解析highlight字段才行。原创 2025-01-02 09:10:42 · 387 阅读 · 0 评论 -
ES-JavaRestClient_排序和分页
【代码】ES-JavaRestClient_排序和分页。原创 2024-12-31 09:12:28 · 178 阅读 · 0 评论 -
ES-JavaRestClient查询_构建查询条件
在DSL语句中,filtermust等是接收数组的参数,这意味着可以传入多个值。因此,在 Java 客户端中,也可以多次调用filtermust等方法,内部会通过集合或数组来接收这些值。原创 2024-12-30 09:14:51 · 314 阅读 · 0 评论 -
ES-JavaRestClient查询_快速入门
查询通过QueryBuilder进行构建,QueryBuilder是一个接口,其内部有很多不同的实现,对应各种不同的叶子查询,但是我们不需要自己去new QueryBuilder,我们只需要使用工具QueryBuilders,它提供了很多静态方法,可以帮助我们构建各种不同的查询。原创 2024-12-29 15:28:01 · 284 阅读 · 0 评论 -
ES-DSL查询_高亮显示
在 Elasticsearch (ES) 中,高亮显示是搜索结果中常用的功能,它允许你突出显示匹配查询的文本片段,以便用户更容易识别搜索的相关部分。当你在 Elasticsearch 中执行查询时,ES 会分析文档中的文本并根据查询条件返回匹配的文档。如果启用了高亮显示功能,ES 会自动标记出与查询匹配的部分(如关键词),并用特定的格式(如 HTML 标签)突出显示。这对用户来说是非常直观的,能够帮助他们快速定位到搜索结果中最相关的内容。注: 字段包含原始的文档数据,不包括高亮标记,因为它存储的是未修改的原原创 2024-12-29 13:46:09 · 356 阅读 · 0 评论 -
ES-深度分页问题
看起来是只查10个,但其实需要找出前1000个才行,所以查询的思路是:先对数据进行排序,找出前1000条数据,再从前1000条数据里找出990~1000的数据。图中有4个分片,要找出前1000条数据,并不是找出每个分片的前250条数据,因为并不能保证每个分片的排序后的前250条数据加起来一定是前1000条数据。打个比方,假设一个学校有10个班,现在要找出年级前10的学生,并不是说找出每个班的第1名,合在一起就是年纪前10。原创 2024-12-29 10:35:18 · 332 阅读 · 0 评论 -
ES-DSL查询_排序和分页
我们可以指定多个排序的字段,如果我们指定了多个字段,就会先按照数组中的第一个字段进行排序,在第一个字段值一样的情况下,再按照第二个字段进行排序,依此类推。一旦做了排序,就不会再打分了,因为没有意义。默认是按打分排序,而现在是自己指定的排序,所以没必要打分了。原创 2024-12-28 15:48:38 · 219 阅读 · 0 评论 -
ES-DSL查询_复合查询
参与算分的字段越多,条件也就越多,将来计算得分时,消耗的性能也会越多,效率也会变低,因此,能不参与算分的、不需要参与算分的字段,我们尽可能都不让其参与算分。通常情况下,用户输入关键字搜索时,应该对其算分;但是像那些用来做过滤筛选的匹配时,我们通常都不会让其参与算分。在关键字(如must、should等等)后面,可以放入多个叶子查询。原创 2024-12-28 13:55:22 · 292 阅读 · 0 评论 -
ES-DSL查询_叶子查询
接下来主要学习全文检索和精确查询。原创 2024-12-28 09:27:24 · 327 阅读 · 0 评论 -
ES-DSL查询_快速入门
"match_all"类型表示查询所有,所有不需要写查询条件。这是查询的主要部分,包含了与查询匹配的文档信息。包含了商品的具体信息字段。原创 2024-12-24 14:15:54 · 363 阅读 · 0 评论 -
ES-JavaRestClinet_索引库操作
要想成功运行,es和lucene的版本必须兼容,我的elasticsearch的依赖版本是7.12.1,与它兼容的lucene版本是8.8.0创建索引库下面提供模板代码,用于复制粘贴创建索引库静态常量定义删除索引库查询索引库总结原创 2024-12-22 10:43:53 · 330 阅读 · 0 评论 -
ES-JavaRestClient_客户端初始化
这段代码是一个针对 Elasticsearch 客户端连接的测试代码,使用的是 JUnit 5 框架和 Elasticsearch Java 高级客户端 (然后再test/java下创建同名软件包。注意:IP地址要换成自己虚拟机的IP。原创 2024-12-21 15:59:40 · 435 阅读 · 0 评论 -
ES-文档操作_新增、查询、删除、修改文档
注意事项如果指定的id存在,则会删除旧文档,添加新文档,此时是修改操作。如果指定的id不存在,则会直接添加新文档,可以看成新增文档操作,它与之前提到的新增文档操作的区别在于:put方式必须指定id,否则会报错。如果要修改的字段值比较多,建议用全量修改;如果要修改的字段值比较少,建议用增量修改原创 2024-12-21 10:09:41 · 679 阅读 · 0 评论 -
JavaWeb-在java中使用IK分词器
可以看到林腾已经识别出来了,博客能识别是因为这个词本来就比较大众,IK分词器原本就可以识别。而"的,啊,a"就没有识别出来,因为我们将它们设置成了停用词原创 2024-12-20 16:29:33 · 576 阅读 · 0 评论 -
ES-操作索引库_创建索引库_查、删、改索引库
DSL语句只要会复制、粘贴、修改就行了,不需要从0开始写。原创 2024-12-19 14:59:02 · 356 阅读 · 0 评论 -
ES-操作索引库_mapping属性
对于字段数据类型,只有text类型会分词,其他类型都不会进行分词。像邮箱这种分词后没有意义的数据,就应该设置为keyword,而不是text。在es中,并没有数组类型,但允许某一个类型的字段有多个值,所以图中score的类型应该是double或float,而不是数组类型属性决定是否为字段创建倒排索引,默认值为。如果字段的设置为,则会创建倒排索引,字段可以参与搜索。反之,若设置为,则不会创建倒排索引,该字段就不能用于搜索。字段默认都设置为,即都能参与搜索。但在实际开发中,并非所有字段都需要参与搜索,尤其是一些原创 2024-12-19 14:35:07 · 345 阅读 · 0 评论 -
ES-安装IK分词器
可以看到,kibana默认的分词器,对英文分词还可以,但对中文的分词效果并不好,都是逐字分词的。原创 2024-12-18 22:35:53 · 818 阅读 · 0 评论 -
ES-安装Kibana
在之前,我们使用的是elasticsearch的7.12.1版本的镜像,所以Kibana的版本也必须是7.12.1(Kibana的版本一定要与es的版本一致),该镜像的体积非常大,有1G左右,所以不建议大家自己pull。Kibana提供了一个DevTools工具,可以让我们非常方便地编写ES中的DSL语句,从而操作ES。在前言提到的参考博客中,已经将es部署在了es-net网络中,所以Kibana也要部署在该网络中。所以,Kibana可以给我们提供一个elasticsearch的可视化界面,便于我们学习。原创 2024-12-18 14:40:17 · 439 阅读 · 0 评论 -
ES-安装es
总结:这条命令启动一个 Elasticsearch 7.12.1 容器,配置为单节点模式,使用自定义的内存设置,挂载数据和插件卷,授予额外权限,并通过端口 9200 和 9300 提供访问。这里没有使用Docker Compose(一键互联),因为将来我们可能不需要Kibana,只需要es,所以这里使用单独部署的方式。我们使用的是elasticsearch的7.12.1版本的镜像,该镜像的体积非常大,解决1G,所以不建议大家自己pull。如果看到这些信息,说明确实启动成功了。原创 2024-12-18 14:11:26 · 954 阅读 · 0 评论 -
ES-es和mysql的概念对比
目录文档索引概念对比架构总结原创 2024-12-18 10:30:38 · 239 阅读 · 0 评论 -
ES-倒排索引
在数据库中,通常会基于 字段创建索引,并形成一个 B+ 树结构,这样在进行基于 的检索时,速度会非常快。这种索引方式称为正向索引。然而,如果查询的字段不是 ,而是像标题这样的普通字段,且标题内容较长,通常不会为其创建索引。即便为其创建了索引,如果使用模糊匹配,索引也无法发挥作用。在这种情况下,数据库会逐条扫描数据,检查每一条记录是否包含匹配的关键字。如果包含,则将其加入结果集;如果不包含,则丢弃该记录。这样逐条地去扫描,最终一定可以拿到完整的结果集,但是如果这张表有一千万条数据,那就意味着要扫描一千万次原创 2024-12-17 21:47:43 · 426 阅读 · 0 评论 -
ES-什么是elasticsearch
什么是elastic stack(ELK)?elastic stack(ELK)是以elasticsearch为核心的技术栈,包括beats、logstash、kibana、elasticsearchKibana、Logstash、Beats都是可替换的组件,换句话说,就是这些都是官方提供的,我们可以选择用,也可以选择不用。但是Elasticsearch是不可替代的,它是核心。原创 2024-12-17 15:40:58 · 334 阅读 · 0 评论 -
Mybatis-配置SQL提示
对目前的idea来说,图中的sql语句是识别不了的,idea只会把它当作字符串,所以如果我们sql语句出现了语法错误,idea也不会有报错提示,这样对开发人员非常不友好,影响开发效率,还容易出错。所以我们需要在idea中配置sql提示。原创 2024-10-24 15:41:05 · 330 阅读 · 0 评论 -
Mybatis-lombok
Lombok会在编译时,自动生成对应的java代码,我们使用lombok时,还需要安装一个lombok的插件(idea自带)。原创 2024-11-06 10:15:03 · 211 阅读 · 0 评论 -
Mybatis-XML映射文件
可以帮助开发者在mapper和xml映射文件之间方便地跳转。原创 2024-11-06 14:39:01 · 280 阅读 · 0 评论 -
Mybatis-动态SQL
Java 中,是指在运行时动态生成的 SQL 查询,而不是在代码中静态硬编码的 SQL 查询。这种技术主要用于处理复杂的查询条件,能够根据不同的条件生成不同的 SQL 语句。它通常应用在需要灵活查询的数据访问层,尤其在涉及多条件的业务逻辑时。原创 2024-11-06 15:40:03 · 512 阅读 · 0 评论 -
Mybatis-数据库连接池
切换为Druid数据库连接池。原创 2024-11-06 09:37:57 · 264 阅读 · 0 评论 -
idea常用快捷键
idea快捷键查询表 快捷键 作用 ctrl+F 在当前文件中查询关键字 ctrl+shift+R 在当前项目中查询关键字所在的文件 连按两下shift 在当前项目中查询指定文件名 ctrl+h 查看指定类或接口的继承体系(光标要定位在类或接口上) alt+insert 快速生成类的构造函数、getter、setter方法等(光标要定位在类的成员变量上) 按住alt或鼠标中键并按住鼠标右键竖向滑动 可竖向批量操作代码原创 2024-10-28 22:04:22 · 315 阅读 · 0 评论 -
大模型学习-使用ollama将大模型部署在java项目中
在刚开始,我是直接引入ollama依赖:但是,引入依赖后发现,项目中无法使用该依赖的东西,即使maven中显示已经有了这个依赖:于是,我查阅了相关资料,得知:springboot版本需要为3.x才能使用ollama的依赖,而我的项目的springboot版本为2.7.12所以,我又尝试升级springboot的版本,我是直接改了版本:启动项目后,仍然报错:将该错误信息交给gpt,它的回答是:即使我将配置类都注释掉,还是有这个问题。就这样,我在这个问题上逗留了一下午。原创 2024-10-26 18:46:09 · 3520 阅读 · 0 评论 -
Mybatis-JDBC介绍
在MyBatis中,数据库连接的四要素写在了配置文件当中,之后如果要修改信息,直接操作配置文件即可,不需要一个个修改java代码了,解决了硬编码问题。MyBatis会自动将查询的结果封装起来,解决了代码繁琐的问题。原创 2024-10-25 16:06:19 · 361 阅读 · 0 评论 -
Mybatis-入门_快速入门程序
按照mybatis的规范,我们需要定义一个持久层的接口,叫UserMapper,并且还要在这个接口上加上@Mapper注解,用来标识当前接口为Mybatis中的一个持久层接口,而这个接口其实就是三层架构中的数据访问层(Dao层)的接口,所以叫UserDao也可以,但是在mybatis的规范中,Dao层一般叫做Mapper层。因此该层的接口也叫做mapper接口。给接口加上@Mapper注解后,程序在运行时,框架会自动生成这个接口的实现类对象,即:代理对象。然后会把该代理对象放到IOC容器中。原创 2024-10-24 10:19:29 · 275 阅读 · 0 评论 -
Mybatis-介绍
什么是Mybatis?原创 2024-10-24 09:41:13 · 165 阅读 · 0 评论 -
idea的Debug断点调试
方法内部实际上会带你深入到 Java 库的实现细节,比如 IO 操作、同步机制等,这通常不是开发者在调试应用程序逻辑时所关心的。调试器会选择在用户编写的代码中步入,而跳过这些常见的库方法。这样的标准库方法,调试器通常不会进入其内部。在对应行的左侧点击鼠标左键,会出现一个小红点,有小红点说明在该行打上了断点。再点击一次步入按钮,就会执行test1()方法内的打印123的操作。包),并且大多数调试器默认会跳过标准库的内部实现。点击该按钮后,会执行该断点处的代码,并停在下一行。的效果类似,也是逐行执行代码。原创 2024-10-14 16:25:54 · 1653 阅读 · 0 评论 -
JavaWeb-注解@Slf4j的使用
这些日志级别的顺序决定了它们的优先级。日志框架会根据配置的日志级别过滤日志信息,输出等于或高于该级别的日志。:警告级别,表明可能存在潜在的问题,但程序还可以继续运行。在不同的环境中(例如开发、测试、生产),你可以根据需求配置不同的日志级别,以便控制日志的输出详细程度。:最详细的日志级别,通常用于追踪程序的执行过程。:信息级别,用于记录程序的常规运行信息,通常在生产环境中使用,输出程序的正常操作日志。:错误级别,记录程序中发生的严重错误,可能导致程序的某些功能无法正常工作。是你的类所在的包名,这样配置后,原创 2024-10-08 21:45:18 · 994 阅读 · 0 评论 -
SpringBoot-无法识别数据库信息
查看项目结构,看看项目是否能识别到该配置文件。如果是下图的样子,则项目是能识别到配置文件的。如果不是,想办法让项目识别到配置文件即可。可能的原因是项目没有识别到该配置文件。但是配置了数据库相关信息。原创 2024-09-22 12:34:40 · 401 阅读 · 0 评论 -
Redis-Redis的Java客户端_Jedis的连接池
如果在多线程的环境下,并发地访问Jedis,就有可能出现线程安全问题,所以在并发的环境下,Jedis必须给每一个线程创建独立的Jedis对象,此时,最好的方案就是使用Jedis连接池。调用这个工具类的getJedis方法,就能拿到Jedis对象,每次都是从池子中获取,用完了也会还回去,这样就可以避免频繁地创建和销毁这些对象了。注意:要打开Linux虚拟机,启动Linux虚拟机中的redis,这样,项目才能通过虚拟机ip地址连上redis.原创 2024-09-06 19:09:57 · 505 阅读 · 0 评论
分享