Spring Boot 2.0 整合 ES 5 文章内容搜索实战 (zhuanlan.zhihu.com)

【简介】

一、文章内容搜索思路
上一篇讲了在怎么在 Spring Boot 2.0 上整合 ES 5 ,这一篇聊聊具体实战。简单讲下如何实现文章、问答这些内容搜索的具体实现。实现思路很简单:

基于「短语匹配」并设置最小匹配权重值
哪来的短语,利用 IK 分词器分词
基于 Fiter 实现筛选
基于 Pageable 实现分页排序
这里直接调用搜索的话,容易搜出不尽人意的东西。因为内容搜索关注内容的连接性。所以这里处理方法比较 low ,希望多交流一起实现更好的搜索方法。就是通过分词得到很多短语,然后利用短语进行短语精准匹配。

ES 安装 IK 分词器插件很简单。第一步,在下载对应版本 https://github.com/medcl/elasticsearch-analysis-ik/releases。第二步,在 elasticsearch-5.5.3/plugins 目录下,新建一个文件夹 ik,把 elasticsearch-analysis-ik-5.5.3.zip 解压后的文件拷贝到 elasticsearch-5.1.1/plugins/ik 目录下。最后重启 ES 即可。

点击查看原文 >>

@极乐小程序商店 2018-01-02 18:56 / 0个评论
赞过的人: @极乐小程序商店
要不要再学学下面的文章?
大众点评内容搜索算法优化的探索与实践 (tech.meituan.com)
本文整理自美团技术沙龙第80期《美团内容智能分发的算法实践》,分享内容主要包括三部分。第一部分介绍了大众点评内容搜索的场景特点以及面临的挑战;第二部分介绍了为应对这些困难和挑战,技术团队在链路各环节上做的实践优化,包括内容消费和搜索满意度的优化等等;第三部分是总结和对未来的展望。
by @技术头条 2024-03-31 21:14 查看详情
竞业协议的相关文章收集 (ixyzero.com)
在国内互联网行业,竞业协议已经有点被滥用了——因为依据《劳动合同法》只有高级管理人员、高级技术人员和其他负有保密义务的人员才可被列于竞业限制的对象;但是现在,全员竞业,入职时就要求签署,不签没法入职。

为了给自己一点保障,多学习一点知识,所以简单整理一下竞业协议的简单内容,方便查阅和参考。
by @技术头条 2024-03-12 22:58 查看详情
Spring 应用合并之路 (www.diguage.com)
公司最近一年在推进降本增效,在用尽各种手段之后,发现应用太多,每个应用都做跨机房容灾部署,则最少需要 4 台机器(称为容器更合适)。那么,将相近应用做一个合并,减少维护项目,提高机器利用率就是一个可选方案。

经过前后三次不同的折腾,最后探索出来一个可行方案。记录一下,分享出来,希望对有相关需求的研发童鞋有所帮助。
by @技术头条 2023-12-26 22:09 查看详情
你的Spring Boot应用启动很慢?不妨试试这个工具! (blog.didispace.com)
睡不着闲逛,在GitHub上看到一个不错的开源项目:Spring Startup Analyzer。
从项目名称中就大概能猜到,这是一个分析Spring应用启动过程的工具。Spring Startup Analyzer通过采集Spring应用启动过程的数据,进而生成一个交互式的分析报告,帮助用户发现Spring应用启动慢的位置。同时,Spring Startup Analyzer还提供了Spring Bean异步初始化的工具,来帮助开发者加快Spring应用的启动时间。
下面一起来看看其提供的强大功能。
by @技术头条 2023-07-30 21:37 查看详情
浅议分布式链路追踪与日志的整合 (blog.yuanpei.me)
最近拜读了 Artech 大佬的新文章 《几个Caller-特性的妙用》,可以说是受益匪浅。不过,对我而言,最大的收获当属这篇文章里的第二主角,即 ActivitySource 和 Activity,这组 API 可以认为是微软针对 OpenTelemetry 规范的一种实现,即:每一个 Activity 都对应着一个 Span 。经过数日的探索,我有了一点小小的收获。因此,今天这篇博客我想和大家分享的是,分布式链路追踪系统如何和日志系统进行整合。
by @技术头条 2023-07-30 17:42 查看详情
JWT 签名算法 HS256、RS256 及 ES256 及密钥生成 (thiscute.world)
JWT 规范的详细说明请见「参考」部分的链接。这里主要说明一下 JWT 最常见的几种签名算法(JWA):HS256(HMAC-SHA256) 、RS256(RSA-SHA256) 还有 ES256(ECDSA-SHA256)。

这三种算法都是一种消息签名算法,得到的都只是一段无法还原的签名。区别在于消息签名与签名验证需要的 「key」不同。
by @技术头条 2023-07-04 23:16 查看详情
如何阅读 Spring 源码? (www.diguage.com)
Spring Framework 是开源的,代码托管在 GitHub 上: Spring Framework。任何人都可以方便地获得它的源代码。所以,如果想阅读 Spring 的源代码,当然是直接把代码克隆到本地,然后直接在 IDE(推荐 IDEA)中进行调试了。另外,还需要存放自己写一些测试和文档。所以,最好把代码 fork 到自己的账户下,从 master 上切出一个新分支并 push 到自己的 Repo 中,这样自己就可以随意更新了。
by @技术头条 2023-07-02 23:41 查看详情
深入剖析 Spring 核心数据结构:BeanDefinition (www.diguage.com)
林纳斯·托瓦兹(Linus Torvalds)说:“我从心底认为,优秀的程序员与平庸的程序员之间的区别,是在于认为自己的代码重要还是数据结构更加重要。平庸的程序员眼里只有代码,优秀的程序员则关注数据结构及之前的关系。” 也许很多人觉得 Spring 神秘莫测,但是如果了解了它的核心数据结构,很多问题迎刃而解。
Spring 中两个数据结构最核心:① BeanDefinition,用于表示 Bean 的定义;② BeanFactory,用于表示整个 IoC 容器。
by @技术头条 2023-07-02 23:40 查看详情
深入剖析 Spring 核心数据结构:BeanFactory (www.diguage.com)
在 深入剖析 Spring 核心数据结构:BeanDefinition 中,介绍了 BeanDefinition。网上很多文章介绍 BeanDefinition 的 API,本文要反其道而行之,从内部属性来分析一下。
by @技术头条 2023-07-02 23:40 查看详情
Spring AOP 处理流程概述 (www.diguage.com)
AOP 是 Spring 框架的最核心的两个功能之一,这里来细致分析一下 Spring AOP 的实现原理和处理流程。
by @技术头条 2023-06-24 23:29 查看详情