关于倒排索引 搜索引擎通常检索的场景是:给定几个关键词,找出包含关键词的文档。怎么快速找到包含某个关键词的文档就成为搜索的关键。这里我们借助单词——文档矩阵模型,通过这个模型我们可以很方便知道某篇文档包含哪些关键词,某个关键词被哪些文档所包含。单词-文档矩阵的具体数据结构可以是倒排索引、签名文件、后 ...
分类:
其他好文 时间:
2020-06-24 12:08:16
阅读次数:
55
1、为什么需要倒排索引 倒排索引,也是索引。 索引,初衷都是为了快速检索到你要的数据。 每种数据库都有自己要解决的问题(或者说擅长的领域),对应的就有自己的数据结构,而不同的使用场景和数据结构,需要用不同的索引,才能起到最大化加快查询的目的。 对 Mysql 来说,是 B+ 树,对 Elastics ...
分类:
其他好文 时间:
2020-06-24 12:00:51
阅读次数:
75
写在前面 在程序设计中,序列是一种常用的数据储存方式,几乎每一种程序设计语言都提供了类似的数据结构,例如C语言,java中的数组。在python中序列是最基本的序列结构,它是一块用于存放多个值的连续内存空间。python内置了列表,元组,集合,字典和字符串5种基本序列结构。 1.索引和切片 (1)索 ...
分类:
其他好文 时间:
2020-06-24 09:12:06
阅读次数:
57
1. 存储的数据特点:存储序的、可重复的数据。 2. 常用方法:(记住)增:add(Object obj)删:remove(int index) / remove(Object obj)改:set(int index, Object ele)查:get(int index)插:add(int ind ...
分类:
编程语言 时间:
2020-06-23 21:40:21
阅读次数:
68
一、基本概念和专业术语: (1)查找:根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素(或记录)。 (2)查找算法分类: 1)静态查找和动态查找; 注:静态或者动态都是针对查找表而言的。动态表指查找表中有删除和插入操作的表。 常见静态表:顺序查找、二分查找、插值查找、索引查找等 常见 ...
分类:
其他好文 时间:
2020-06-23 21:32:01
阅读次数:
165
1. 集合与数组存储数据概述:集合、数组都是对多个数据进行存储操作的结构,简称Java容器。说明:此时的存储,主要指的是内存层面的存储,不涉及到持久化的存储(.txt,.jpg,.avi,数据库中) 2. 数组存储的特点:> 一旦初始化以后,其长度就确定了。> 数组一旦定义好,其元素的类型也就确定了 ...
分类:
编程语言 时间:
2020-06-23 21:31:42
阅读次数:
71
1.遍历Collection的两种方式:① 使用迭代器Iterator ② foreach循环(或增强for循环)2.java.utils包下定义的迭代器接口:Iterator2.1说明:Iterator对象称为迭代器(设计模式的一种),主要用于遍历 Collection 集合中的元素。 GOF给迭 ...
分类:
编程语言 时间:
2020-06-23 21:18:02
阅读次数:
63
1.单列集合框架结构| Collection接口:单列集合,用来存储一个一个的对象* | List接口:存储序的、可重复的数据。 -->“动态”数组* | ArrayList、LinkedList、Vector** | Set接口:存储无序的、不可重复的数据 -->高中讲的“集合”* | HashS ...
分类:
编程语言 时间:
2020-06-23 21:09:19
阅读次数:
59
Collections工具类1.作用:操作Collection和Map的工具类 2.常用方法:reverse(List):反转 List 中元素的顺序shuffle(List):对 List 集合元素进行随机排序sort(List):根据元素的自然顺序对指定 List 集合元素升序排序sort(Li ...
分类:
编程语言 时间:
2020-06-23 21:01:02
阅读次数:
55
1. 存储的数据特点:无序的、不可重复的元素具体的: 以HashSet为例说明:1. 无序性:不等于随机性。存储的数据在底层数组中并非照数组索引的顺序添加,而是根据数据的哈希值决定的。2. 不可重复性:保证添加的元素照equals()判断时,不能返回true.即:相同的元素只能添加一个。 2. 元素 ...
分类:
编程语言 时间:
2020-06-23 20:58:52
阅读次数:
55