
search
文章平均质量分 93
搜索技术
scl、
回首往昔 更进一步 ---工作1年的快乐风男♂
展开
-
ElasticSearch学习篇19_《检索技术核心20讲》搜推广系统设计思想
主要是包含搜推广系统的基本模块简单介绍,另有一些流程、设计思想的分析。原创 2024-11-30 11:28:56 · 1145 阅读 · 0 评论 -
ElasticSearch学习篇18_《检索技术核心20讲》LevelDB设计思想
一些常见的设计思想以及基于LSM树的LevelDB是如何利用这些设计思想优化存储、检索效率的。原创 2024-11-22 16:13:30 · 942 阅读 · 0 评论 -
ElasticSearch学习篇17_《检索技术核心20讲》最邻近检索-局部敏感哈希、乘积量化PQ思路
场景在搜索引擎和推荐引擎中,对相似文章去重是一个非常重要的环节,另外是拍照识花、摇一摇搜歌等场景都可以使用它快速检索。基于敏感性哈希的检索更擅长处理字面上的相似而不是语义上的相似。原创 2024-11-19 14:22:24 · 1048 阅读 · 0 评论 -
ElasticSearch学习篇16_《检索技术核心20讲》进阶篇之空间检索
学习极客实践课程《检索技术核心20讲》,文档形式记录笔记。原创 2024-11-05 11:37:58 · 1284 阅读 · 0 评论 -
ElasticSearch学习篇15_《检索技术核心20讲》进阶篇之TopK检索
学习极客实践课程《检索技术核心20讲》,文档形式记录笔记。原创 2024-07-25 11:30:48 · 1141 阅读 · 0 评论 -
ElasticSearch学习篇14_《检索技术核心20讲》进阶篇之大倒排索引
学习极客实践课程《检索技术核心20讲》,文档形式记录笔记。主要是海量数据的大倒排索引的一些原理设计思想,ES底层就是基于这些设计思想以及原理,主要涉及读写分离、索引分层等思想。原创 2024-07-08 14:28:59 · 1426 阅读 · 0 评论 -
ElasticSearch学习篇13_《检索技术核心20讲》进阶篇之LSM树
学习极客实践课程《检索技术核心20讲》,文档形式记录笔记。LSM树的原理。原创 2024-06-16 11:36:07 · 1313 阅读 · 0 评论 -
ElasticSearch学习篇12_《检索技术核心20讲》基础篇
学习极客实践课程《检索技术核心20讲》https://time.geekbang.org/column/article/215243课程分为基础篇、进阶篇、系统案例篇主要记录企业课程学习过程课程大纲关键点,以文档形式记录笔记。检索技术:它是更底层的通用技术,它研究的是如何将我们所需的数据高效地取出来。不管是在数据库和搜索引擎里,还是在新闻推荐平台、电商平台、生活服务平台中,如果我们把这些业务场景抽象出来,它们的本质其实都是在海量的信息中,快速筛选出我们需要的内容或服务,而这都和检索技术紧密相关。数组的特点:原创 2024-05-26 16:17:46 · 1311 阅读 · 0 评论 -
ElasticSearch学习篇11_ANNS之基于图的NSW、HNSW算法
ANNS(Approximate Nearest Neighbor Search)翻译为近似最近搜索。是指在大型数据集中找到给定查询点的最近邻点。ANNS 旨在最小化计算成本并同时高效找到近似最近邻。目的:ANNS旨在高维空间中快速找到与查询点近似最近的邻居,牺牲一定的精确度以换取搜索速度的提升。原理:通过构建特定的数据结构(如基于空间划分的KD-Tree、局部敏感哈希LSH等)或使用特定的算法逻辑来减少在高维空间中搜索最近邻所需的计算量。应用场景。原创 2024-03-29 14:59:36 · 1789 阅读 · 0 评论 -
ElasticSearch学习篇10_Lucene数据存储之BKD动态磁盘树(论文Bkd-Tree: A Dynamic Scalable kd-Tree)
基础的数据结构如二叉树衍生的的平衡二叉搜索树通过左旋右旋调整树的平衡维护数据,靠着二分算法能满足一维度数据的logN时间复杂度的近似搜索。对于大规模多维度数据近似搜索,Lucene采用一种BKD结构,该结构能很好的空间利用率和性能。本片博客主要学习常见的多维数据搜索数据结构以及BKD结构搜索过程以及原理。原创 2024-03-10 21:51:14 · 2883 阅读 · 2 评论 -
ElasticSearch学习篇9_文本相似度计算方法现状以及基于改进的 Jaccard 算法代码实现与效果测评
目前基于集合的Jaccard算法以及基于编辑距离的Levenshtein在计算文本相似度场景中有着各自的特点,为了优化具体的计算时间抖动超时问题,需要学习此方面知识,本文主要内容为文本相似度计算方法的现状、Jaccard、Levenshtein算法实现基本原理以及代码实现论文基于改进的 Jaccard 系数文档相似度计算方法的算法。这样,即使两个主题的语义相似度较低,但由于它们之间可能存在隐含的相关关系,搜索引擎可以更好地理解用户的真实需求,并提供更准确、相关的搜索结果。我们要判断这两篇文章是否相似。原创 2023-12-22 19:14:54 · 4910 阅读 · 2 评论 -
ElasticSearch学习篇8_Lucene数据落盘之数据压缩编码(vint、zigzag、writeTLong等)
Lucene全文检索主要分为索引、搜索两个过程,对于索引过程就是将文档磁盘存储然后按照指定格式构建索引文件,其中涉及数据存储一些压缩、数据结构设计还是很巧妙的,下面主要记录学习过程中的StoredField、DocValue以及磁盘BKD Tree的一些相关知识。Lucene 原理与代码分析完整版.pdf美团外卖搜索基于 Elasticsearch 的优化实践。原创 2023-12-17 16:24:58 · 4695 阅读 · 1 评论 -
ElasticSearch学习篇7_拜占庭将军问题与分布式一致性算法(Raft、Paxos)理解
拜占庭将军问题提供了对分布式共识问题的一种情景化描述,为理解和分类现有众多分布式一致性协议和算法提供了框架,现有的分布式一致性算法主要分为两类一类是故障容错算法:即非拜占庭算法,解决的是分布式系统存在故障但是不存在被恶意攻击的场景下的共识问题,主要针对消息丢失、重复等问题,面对消息被篡改就无力了,一般用于局域网场景下的分布式算法,如Paxos、Raft、ZAB协议等。一类是拜占庭算法:既可以解决分布式系统故障,又可解决恶意攻击的问题,如在数字货币的区块链技术中,属于此类算法有PBFT、PoW算法。原创 2023-09-18 23:55:14 · 1155 阅读 · 0 评论 -
ElasticSearch学习篇6_ES实践与Lucene对比及原理分析技术分享小记
QBM、MFS的试题检索、试题查重、公式转换映射等业务场景以及XOP题库广泛使用搜索中间件,业务场景有着数据量大、对内容搜索性能要求高等特点,其中XOP题库数据量更是接近1亿,对检索性能以及召回率要求高。目前QBM、MFS使用的搜索中间件是Solr,后续需要升级为ES。看的书是《ElasticSearch源码解读与优化实战》的前半部分(与这篇博客部分内容重合),主要是ES的一些工程模块,分布式集群的一些理论知识。原创 2023-11-19 21:15:49 · 1075 阅读 · 0 评论 -
ElasticSearch学习篇5_《Elasticsearch源码解读与优化实战》张超-读书笔记
1、初学者牵强理解,ES的数据表示形式与传统的关系型数据库类比,indices(相当于数据库)、types(相当于表)、fileds(相当于字段)、documents(相当于行数据),后续更新的版本可能会删除types的概念,直接一个indeices下对应documents2、倒排索引:采用Lucene倒排作为底层,这种结构适用于快速的全文搜索。实现原理:为了创建倒排索引,首先需要将文档拆分为独立的词条tokens,然后创建一个包含所有不重复的词条的**排序列表**,然后列出每个词条出现在哪个文档里面。原创 2023-02-16 21:24:32 · 1270 阅读 · 0 评论 -
ElasticSearch学习篇4_仿京东搜索案例练习
目录创建工程,导入静态资源爬虫获得数据vue数据渲染一、创建工程、导入静态资源静态资源地址链接:https://pan.baidu.com/s/1M5uWdYsCZyzIAOcgcRkA_A提取码:qk8p复制这段内容后打开百度网盘手机App,操作更方便哦访问测试二、简单爬虫获取数据基本步骤打开网页搜索java观察url:https://search.jd.com/Search?keyword=java&enc=utf-8&wq=java&pvi原创 2021-07-20 16:06:05 · 460 阅读 · 2 评论 -
ElasticSearch学习篇3_整合SpringBoot、索引、文档基本操作API练习
一、整合SpringBoot基本步骤查看文档:https://www.elastic.co/guide/index.html各种语言客户端:https://www.elastic.co/guide/en/elasticsearch/client/index.html,使用Java Rest客户端选择Java High Level REST Client查看相关API手册找到原生的依赖<dependency> <groupId>org.elastic原创 2021-07-18 22:11:38 · 229 阅读 · 1 评论 -
ElasticSearch学习篇2_Rest格式操作(索引、文档)、文档的简单操作(增、删、改、查)、复杂查询操作(排序、分页、高亮)
目录关于索引的基本操作关于文档的基本操作一、关于索引的基本操作1.声明索引、字段类型1.字段类型字符串类型:text、keyword数值类型:long、integer、short、byte、double、float、half、scaled float日期类型:date布尔类型值:boolean二进制类型:binary…2.索引、字段类型创建举栗================ PUT ===============PUT /test{ "mappings": {原创 2021-07-18 18:29:43 · 2019 阅读 · 1 评论 -
ElasticSearch学习篇1_ES简介、安装使用(ES、head可视化、Kibana可视化、IK分词器)
目录Lucene简单概述ElasticSearch概述一、Lucene简单概述概念是一套信息检索工具包,也就是jar包,不包含搜索引擎系统包含 索引结构、读写索引的工具、排序、搜搜规则、工具类等ElasticSearch 和 Lucene关系ES其实就是基于Lucene做了一些封装和增强!二、ElasticSearch概述概述是一个开源的高拓展的 分布式全文检索引擎,他可以近乎实时的存储、检索数据,本身拓展性很好,可以拓展到上百台服务器,处理PB级别的数据es适用jav原创 2021-07-18 13:24:03 · 883 阅读 · 1 评论