mysql的B+树索引 查找使用了二分查找,redis 跳表也使用了二分查找法,kafka查询消息日志也使用了二分查找法,二分查找法时间复杂度O(logn); 在MySQL中,主要有四种类型的索引,分别为:B-Tree索引,Hash索引,Fulltext索引(MyISAM 表)和R-Tree索引,本文讲的是B-Tree索引。后面的索引原理一定要看,太重要了,阿里两个人都问这个mysql的索引原理m            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-26 17:59:16
                            
                                42阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Faiss原理介绍github Faiss 包含多种相似性搜索方法。它假设实例表示为向量并由整数标识,并且可以将向量与 L2(欧几里得)距离或点积进行比较。与查询向量相似的向量是那些与查询向量具有最低 L2 距离或最高点积的向量。它还支持余弦相似度,因为这是归一化向量的点积。大多数方法,如基于二进制向量和紧凑量化代码的方法,只使用向量的压缩表示,不需要保留原始向量。这通常是以降低搜索精度为代价的,            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-04 21:46:13
                            
                                299阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            faiss入门+使用的索引原理已经在项目中在离线时,用faiss算过50w 视频的相似度。 但感觉还是对faiss有些陌生,想对faiss理解更多一些。 有幸看到别人分享的这个帖子Faiss 在项目中的使用Faiss Indexs 的进一步了解这里跟着上面两篇文章的思路,对faiss理解更多一些。重新审视1.再问faiss 是什么?撇开具体定义不管,Faiss 就可以类比为一个可以设置索引的数据库            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-08-26 21:56:16
                            
                                621阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            互联网的海量数据信息,使得通用搜索引擎提供给用户的不相关信息太多,垂直搜索引擎专门针对某一类主题信息,以避免通用搜索引擎带来的“噪音”。垂直搜索引擎通常由四个部分组成:信息采集模块、索引模块、查询模块和UI模块组成,换句话说即爬虫、索引、查询和web界面。一、爬虫1、配置指定URL初始列表、爬取深度、抓取范围(主题相关即指定域名前缀)。指定并行抓取数、抓取周期2、抓取从初始URL开始,广度优先遍历            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-09-03 11:21:59
                            
                                59阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            说明原本想尝试自己从头写,但看了下网上的各位前辈的博客后,感觉自己还是才疏学浅,没有理解透彻,所以在这里做个搬运工,偶尔加些个人的理解在里面。侵删。Faiss 的原理首先来介绍一下Faiss使用时候的数据流: 在使用Faiss的时候首先需要基于原始的向量build一个索引文件,然后再对索引文件进行一个查询操作,在第一次build索引文件的时候,需要经过Train和Add两个过程,后续如果有新的向量            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-30 00:23:20
                            
                                1184阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            SQLite采用的是B+树来存储表中的索引和数据。 B树的键及其值既存储在内部节点上,也存储在叶节点上,所有的叶节点具有相同的深度。 B+树作了些微改变,键和数据会存储到叶节点上,并且按照键值排好序。而内部节点只存储键值。相当于有两条查找路径。 SQLite从根叶开始创建B+树,一般从页1开始。它以独立的页来存储树节点,每页一个节点,这些页要分内部页还是叶子页。对于每个节点,任何项(数据)及其键值            
                
         
            
            
            
            常见的查找算法基本可分为三类:静态查找,树形查找和哈希查找。静态查找 静态查找可以分为三种,最简单的就是顺序查找,可以选择从后往前也可以选择从前往后进行查找。时间复杂度在1-n之间; 
 其次就是二分查找,二分查找要求是对一个有序的数据结构进行查找,查询复杂度在logn; 
 最后就是分块查找,也可以称为索引查找,查找介乎与顺序查找和二分查找之间。通过将数据划分为若干的块,每个块内的数据不必有序,            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-15 08:10:46
                            
                                60阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Faiss库系列2_原理分析1 引入  Faiss库为向量近邻搜索提供精确的暴力匹配方法IndexFlatL2和IndexFlatIP,前者使用L2距离衡量向量相似度,而后者采用点积衡量。暴力匹配存在的最大问题是耗时严重,针对这个问题,Faiss库利用泰森多边形(voronoi图)将搜索空间分为数个小单元(cell,划分的数量可有超参数nlist控制),并在搜索时控制搜索的单元数量(由nprobe            
                
         
            
            
            
            在前面的文章中已经有说明,Faiss库的运行是基于索引的,这个索引与传统数据库中的Index不同,它是包含向量集,训练和查询方法等的类。1. Index类汇总MethodClass nameindex_factoryMain parametersBytes/vectorExhaustiveCommentsExact Search for L2IndexFlatL2"Flat"d4*dyesbrut            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-30 22:53:28
                            
                                262阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            通过一个示例,来说明索引的代价。如下,给 person_info表中创建一个联合索引 idx_name_birthday_phone_number。1 CREATE TABLE person_info(
2     id INT NOT NULL auto_increment,
3     name VARCHAR(100) NOT NULL,
4     birthday DATE NOT NU            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-09 07:41:12
                            
                                60阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一、   JZSearch精准搜索引擎简介
JZSearch精准搜索引擎是灵玖中科软件(北京)有限公司专门针对行业细分搜索的需求而打造的一款互联网产品,它能够依据行业用户的细分特点,方便快捷地构建精、准、快的搜索服务。
 
JZSearch精准搜索引擎的特色在于:
²    更加精准专业的网站搜索范围;
²&            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2011-03-15 09:59:15
                            
                                717阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一、局部敏感哈希LSH在很多应用领域中,我们面对和需要处理的数据往往是海量并且具有很高的维度,怎样快速地从海量的高维数据集合中找到与某个数据最相似(距离最近)的一个数据或多个数据成为了一个难点和问题。如果是低维的小数据集,我们通过线性查找(Linear Search)就可以容易解决,但如果是对一个海量的高维数据集采用线性查找匹配的话,会非常耗时,因此,为了解决该问题,我们需要采用一些类似索引的技术            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-18 20:52:21
                            
                                92阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            度娘、谷哥这些常用搜索引擎我们经常使用,但是我们大多数人的方法可能就是把要搜索的内容直接复...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-09-26 10:23:59
                            
                                250阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Mysql空间数据&空间索引(spatial)(3)
12.5.2.12 MultiSurface Class
AMultiSurfaceis a geometry collection composed of surface elements.不可实例化.唯一可实例化的子类是 MultiPolygon.
MultiSurfaceAssertions
其中的Surfaces没有内部相交
其            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-30 10:44:59
                            
                                30阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            索引和锁,这两个主题对我们开发工程师来说,非常的重要。。。只有理解了这两个主题,我们才能写出高质量的sql语句,在之前的博客中,我所说的索引都是单列索引。。。当然数据库不可能只认单列索引,还有我这篇的复合索引,说到复合索引,可能熟悉的人又会说到include索引,那这两个索引到底有什么区别呢,当然我也是菜鸟一枚。。。所以下面的也是我的个人见解。。。 一:从数据页角度看问题1. 做两个表,            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-24 10:46:57
                            
                                24阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            最近面试的时候经常被人问到这个问题,现写下来,留作参考用。建议能不建复合索引的就不建复合索引,相比单键索引,复合索引比单键索引难控制的多。主要遵循以下原则:建立索引常用的规则如下: 1、表的主键、外键必须有索引; 2、数据量超过300的表应该有索引;3、经常与其他表进行连接的表,在连接字段上应该建立索引; 4、经常出现在Where子句中的字段,特别是大表的字段,应该建立索引; 5、索引应该建在选择            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-15 09:46:40
                            
                                244阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            图灵TOPIA编辑:安然图灵联邦编辑部出品   最近邻搜索(Nearest neighbor search)是指在数据库中查找与查询数据距离最近的数据点,是计算机视觉、推荐系统、机器学习等领域的基本问题。 
  比如在基于内容的图像检索中,在计算完查询图像特征向量后,需要在成千上万甚至几十亿的数据库图像特征向量中查找距离最小的Top n 幅图像,作为结果返回给用户。 
  Facebook的FAI            
                
         
            
            
            
            文章目录前言一、1.Faiss索引构建二、2. Faiss的索引类型2.1 精确索引-IndexFlatL2、indexFlatIP2.2 倒排快速索引-IndexIVFFlat代码Demo2.3 乘积量化索引-IndexIVFPQ总结 前言现在比较流行的几个向量检索库的应当是这么几个:Faiss, Milvus, Proxima:一、1.Faiss索引构建Faiss有两种索引构建模式,一种是全            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-22 14:32:49
                            
                                2230阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            背景目前有项目会涉及到向量的存储和计算,对于机器学习领域来说,大部分经过训练后的模型都是以特征向量的方式呈现的,所以特征向量的存储和搜索也就是必要的了。先贴上官网的入门教程:https://github.com/facebookresearch/faiss/wiki/Getting-started就算是看官方的例子,对于菜鸟本鸟我来说,也是很难理解的。Faiss 总体使用过程可以分为三步:构建训练            
                
         
            
            
            
            虽然lucene4很早就出来,但是这里仍然以lucene3.0为基础,理解lucene索引创建的思路: 1. 要记录正向信息 field的数据,fdx,fdt,依次写每个field的即可 词向量,tvx,tvd,tvf tvf是真正存储的地方,tvx是每个文档一项,具体包含第一个field的位置,其他field只要记录与覅一个field的偏移量即可             
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-08-26 00:01:17
                            
                                60阅读