1 索引建立常用原则 高离散度:表的某个字段值得离散度越高,该字段越适合选作索引的关键字。内存占用少:占用存储空间少的字段更适合选作索引的关键字最左前缀原则经常修改的不适合做索引2 索引失效1.如果条件中有or,即使其中有条件带索引也不会使用(这也是为什么尽量少用or的原因) 注意:要想使用or,又想让索引生效,只能将or条件中的每个列都加上索引2.对于多列索引,不满足最佳左前3.lik
转载
2024-03-20 21:37:12
52阅读
1)数学对象1.1. 标量标量就是一个简单的数,比如241.2. 向量向量是一个有序数组,能够写成一行或者一列的形式。向量只包含一个索引,用来表示向量中的某个特定元素。比如v_2表示向量中的第二个元素,即上图中的-81.3. 矩阵矩阵是一个有序的二维数组,有两个索引。第一个索引表示行,第二个索引表示列。例如M_23表示的是第二行、第三列的元素,即上图中的91.4. 张量三维张量是按照一定规律排列在
Python 发展历史
python的创始人 吉多·范罗苏姆 1989年圣诞期间开发的一个新的脚本解释程序,作为ABC语言的继承
Python 是由 Guido van Rossum 在八十年代末和九十年代初,在荷兰国家数学和计算机科学研究所设计出来的。
Python 本身也是由诸多其他语言发展而来的,这包括 ABC、Modula-3、C、C++、Algol-68、SmallTalk、Unix
转载
2023-09-11 20:21:16
20阅读
索引是经常用到的技术,但有些程序员对索引的原理了解不深,发现数据查询性能有问题立刻就想起建索引,但效果常常也不尽人意。那么到底什么时候该用索引以及该怎么用?我们来分析索引清理背后的技术原理就知道了。基本原理索引技术的初衷是为了快速从一个大数据集中找出某个字段等于确定值(比如按身份证号找出某个人)的记录。一个规模(行数)为N的数据集,用遍历查找则需要比较N次,而如果数据是按该字段值(在索引中称为键值
转载
2024-05-07 11:06:40
62阅读
Python annoy是一个用于快速近似最近邻搜索的Python库。它基于Spotify开发的Annoy库,旨在提供高效的相似向量搜索功能。Annoy库通过使用随机投影树(Random Projection Trees)构建索引,从而能够在大型数据集上快速查找最近邻。
## 安装Python annoy
要安装Python annoy,可以使用pip工具进行安装:
```bash
pip i
原创
2024-04-04 05:52:22
123阅读
###Today's topic ###THINGS THAT ANNOY US What makes you mad about your city? Discuss what bad habits people have and what annoys you the most. Sleep l ...
转载
2021-05-13 23:59:00
213阅读
2评论
作者 | 郭人通 提到搜索引擎,大家首先想到的一般是ElasticSearch。在文本作为信息主要载体的阶段,ElasticSearch技术栈是文本搜索的最佳实践。然而目前搜索领域的数据基础发生了深刻的变化,远远超过文本的范畴。视频、语音、图像、文本、社交关系、时空数据等非结构化数据构筑了更加“立体”的语义基础。传统的文本搜索技术与实践方法很难套用到新兴的数据搜索场景上。主要的原因是,在非结构化数
转载
2024-05-20 09:51:23
283阅读
首先介绍annoy :Annoy是高维空间求近似最近邻的一个开源库。Annoy构建一棵二叉树,查询时间为O(logn)。Annoy通过随机挑选两个点,并使用垂直于这个点的等距离超平面将集合划分为两部分。如图所示,图中灰色线是连接两个点,超平面是加粗的黑线。按照这个方法在每个子集上迭代进行划分。依此类推,直到每个集合最多剩余k个点,下图是一个k = 10 的情况。 n_trees在构建时提供,并影
原创
2022-04-11 14:23:31
2101阅读
上周《玩转腾讯词向量:词语相似度计算和在线查询》推出后,有同学提到了annoy,我其实并没有用annoy,不过对annoy很感兴趣,所以决定用annoy试一下腾讯 AI Lab 词向量。学习一个东西最直接的方法就是从官方文档走起:https://github.com/spotify/annoy , Annoy是Spotify开源的一个用于近似最近邻查询的C++/Python工具,对内存使用进行了优
原创
2021-03-31 19:31:58
699阅读
检查信息:# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core)# python -VPython 2.7.5安装
原创
2022-06-16 07:05:44
336阅读
许多读者都问我Python和Django怎么安装,虽然官网上有教程,但是都是英文的,而且也不知道他用的是什么操作系统,我在这里就简单地介绍一下这两个软件在Windows XP下的安装步骤吧。1.Python安装步骤 Python的安装感觉没什么好介绍的,就是下一步下一步,直到完成。然后在环境变量的Path中添加Python的安装路径,如 我的Python的安装路径是D:\Program Fil
转载
2024-06-25 22:40:44
99阅读
Annoy是高维空间求近似最近邻的一个开源库。Annoy构建一棵二叉树,查询时间为O(logn)。Annoy通过随机挑选两个点,并使用垂直于这个点的等距离超平面将集合划分为两部分。如图所示,图中灰色线是连接两个点,超平面是加粗的黑线。按照这个方法在每个子集上迭代进行划分。依此类推,直到每个集合最多剩余k个点,下图是一个k = 10 的情况。相应的完整二叉树结构:随机投影森林。一个思想依据是:在原空
转载
2024-07-02 22:59:36
38阅读
annoy快速查询数百万级别的近似向量
需求:有800万的中文词向量,要查询其中任意一个词向量对应的k个与其最邻近的向量。通常情况下如果向量集比较小的话,几十万个向量(几个G这种),我们都可以用gensim的word2vec来查找,但是880万词向量有16个G,加到内存中就爆炸了,而且gensim中的查找属于暴力搜索,即全都遍历比较余弦相似度来进行查找,
转载
2024-05-19 08:04:44
77阅读
原创 · 作者 | Giant学校 | 浙江大学研究方向 | 对话系统、text2sql知乎专栏 | 大熊猫游乐园1、什么是K近邻算法K近邻算法(KNN)是一种常用的分类和回归方法,它的基本思想是从训练集中寻找和输入样本最相似的k个样本,如果这k个样本中的大多数属于某一个类别,则输入的样本也属于这个类别。关于KNN算法,一个核心问题是:如何快速从数据集中找到和目标样本最接近的K个样本?本文将从这个
原创
2021-03-28 23:00:20
1061阅读
最近在做一个关键词匹配系统,为了更好的效果, 添加一个关键词扩展的功能。使用Tencent AIlab的800万词向量文件。 腾讯AILAB的800万词向量下载地址:https://ai.tencent.com/ailab/nlp/zh/embedding.html 这个是最新的有效地址 是用gen
原创
2021-08-25 14:50:43
1069阅读
ElasticSearch——倒排索引和正向索引1、正向索引正向索引 (forward index) 以文档的ID为关键字,表中记录文档中每个字的位置信息,查找时扫描表中每个文档中字的信息直到找出所有包含查询关键字的文档这种组织方法在建立索引的时候结构比较简单,建立比较方便且易于维护:若是有新的文档加入,直接为该文档建立一个新的索引块,挂接在原来索引文件的后面。若是有文档删除,则直接找到该文档号文
转载
2024-04-06 08:24:09
1099阅读
1.索引是什么:索引用于快速找出在某个列中有某一特定值的行。2.索引的优缺点:优点:索引能够有效地提高查询的效率;缺点:索引过多也会影响应用程序的性能。3.索引的分类:按索引包含列的个数可以分为(1)单列索引(一个索引只包含一个列,但一个表可以有多个单列索引)(2)组合索引(一个组合索引包含两个或者两个以上的列)只有在查询条件中使用了这些字段的左边字段时,索引才会被使用,使用组合索引时遵循最左前缀
转载
2024-04-23 17:10:33
219阅读
先给users集合插入两条记录,然后用users集合来进行索引管理的演示:>user1={"name":"liming","age":20,"gender":"F"}{"name":"liming","age":20,"gender":"F"}>db.users.insert(user1)WriteResult({"nInserted":1})>user2={"name":"zh
原创
2018-02-12 10:13:55
10000+阅读
经历过的优化案例中,最经常碰到的就是索引的问题,要么没加索引,要么没用合适的索引,相信这也是做开发的朋友最经常碰到的盲区了,很容易就给忽略了。最近一次碰到的案例中,由于存储过程中需要创建临时表,把数据插入到临时表中,然后再做对比,开发人员认为是临时表没必要加索引,执行时间大概花了1个小时,加上索引后,不到2分钟就运行完了,至少30:1的效果啊,血淋淋的现实啊 :)
本文出自 “MySQL中文网”
原创
2009-12-16 21:59:34
696阅读
收集点面试常问道的索引问题
1. 什么是聚合索引(clustered index) / 什么是非聚合索引(nonclustered index)? 2. 聚合索引和非聚合索引有什么区别? 深入浅出理解索引结构 实际上,
转载
2024-06-17 06:29:45
22阅读