数据检索

mysql面试题目笔记 <非原创> (作为自己的参考资料)

a 夏天 提交于 2019-12-01 11:58:10
1.主键超键候选键外键是什么? 定义: 超键:在关系中可以唯一标识元组的属性集。 初始键:不包含多余属性的超键。 主键:用户选作元组标识的一个附加键程序主键。 外键:如果关系R中的属性集是关系L中的主键,那么该属性集为关系R的外键。 超键 在关系中能唯一标识元组的属性集称为关系模式的超键。 这样我们从示例中可以发现学号是标识学生实体的唯一标识。那么该元组的超键就为学号。 除此之外我们还可以把它跟其他属性组合起来,比如: ( 学号 , 性别 ) ( 学号 , 年龄 ) 这样也是超键。 初始键 排除多余属性的超键为预期键。 根据示例可知,学号是一个可以唯一标识元组的唯一标识,因此学号是一个附加键,实际上,指向键是超键的子集,而非(学号,年龄)是超键,但是它不是预设键。因为它还有了额外的属性。 主键 用户选择的预设键作为该元组的唯一标识,那么它就以此为主键。 简单的说,示例中的元组的扩展键为学号,但是我们将他作为该元组的唯一标识,那么学号就以此为主。 外键 外键是相对于主键的,某些在学生记录里,主键为学号,在成绩单表中也有学号插入,因此学号为成绩单表的外键,为学生表的主键。 总结 主键为预期键的子集,外部键为超键的子集,而外键的确定是相对于主键的。 2.数据库事务的四个特性: ACID:原子性,一致性,隔离性,持久性。 原子性:数据库的所有操作要么完成,要么全部不完成

Lucene笔记

a 夏天 提交于 2019-12-01 07:54:16
Lucene是什么 Lucene是一个开源的全文检索引擎工具包, 但它不是一个完整的全文检索引擎, 而是一个全文检索引擎的架构, 提供了完整的查询引擎和搜索引擎以及部分文本分析引擎。可以把它理解成一个信息检索程序库, 而不是应用产品, 具体的功能需要使用者自己去以代码实现。 Lucene的功能 本质: 输入若干个字符串, 然后Lucene为使用者提供了一个全文搜索服务, 最后告诉使用者要搜索的关键词在哪里。 搜索引擎 Lucene速度测试 测试一:250万记录,300M左右文本,生成索引380M左右,800线程下平均处理时间300ms。 测试二:37000记录,索引数据库中的两个varchar字段,索引文件2.6M,800线程下平均处理时间1.5ms。 Lucene核心 倒排索引 根据属性的值来查找记录。索引表中的每一项都包括一个属性值和具有该属性值的各记录的抵地址 由于不是由记录来确定属性值, 而是由属性值来确定记录的位置, 因此被被称为倒排索引(invertedindex) # import(输入) 1.Alex works in Facebook for three years. 2.John is a professional data-science analyzer. 3.Ronnie is just a noob in data-excavating field. 4

CSA|EI

穿精又带淫゛_ 提交于 2019-12-01 06:13:16
信息检索 CSA 是学科特色的包含相关学科的内容,其网址是 https://search.proquest.com/ 可以使用命令行检索: 分类的限制检索: 寻找检索线索可使用百科全书 EI 是工程领域最全的数据库,国科大可使用 EI Engineering Village II ,数据库中有期刊和会议和专利和报道: 可采用条件过滤: 每篇文章一个编号: CNKI 与万方差不多,都是中文数据库: CNKI 也可以找外文文献: 检索结果可视化分析: 可以下载和导出: 可以进行二次检索: 对选择文献进行可视化分析: 来源: https://www.cnblogs.com/yuanjingnan/p/11664331.html

Lucene

微笑、不失礼 提交于 2019-12-01 01:29:31
一.全文检索 1.非结构化数据: 这种先建立索引,再对索引进行搜索的过程就叫全文检索 (Full-text Search) 2.应用场景: 对于数据量大、数据结构不固定的数据可采用全文检索方式搜索,比如百度、Google等搜索引擎、论坛站内搜索、电商网站站内搜索等。 3.流程: 二.程序实现: 1.创建索引:   *环境:Lucene 第一步:创建一个java工程,并导入jar包。 第二步:创建一个indexwriter对象。 1)指定索引库的存放位置Directory对象 2)指定一个IndexWriterConfig对象。 第二步:创建document对象。 第三步:创建field对象,将field添加到document对象中。 第四步:使用indexwriter对象将document对象写入索引库,此过程进行索引创建。并将索引和document对象写入索引库。 第五步:关闭IndexWriter对象。 2.使用Luke工具查看索引文件 *Luke必须使用java-9来使用:M:\java\luke-7.4.0\target 3.查询索引库 第一步:创建一个Directory对象,也就是索引库存放的位置。 第二步:创建一个indexReader对象,需要指定Directory对象。 第三步:创建一个indexsearcher对象,需要指定IndexReader对象 第四步

mongoengine简单使用

强颜欢笑 提交于 2019-11-30 22:41:54
创建model class User(Document): email = StringField(required=True) first_name = StringField(max_length=50) last_name = StringField(max_length=50) 文档都是继承Document类。 预留: 字段类型: StringField,字符串。 ListField,列表。列表里还可以传入字段规定列表内的字段类型,例如 ListField(StringField(max_length=30)) ReferenceField, 这是一个保存相关文档的filed StringFiled(regex=None,max_length=None,min_lenght=None) #字符串类型 IntField(min_value=None,max_value=None) #整数类型 FloatField(min_value=None,max_value=None) #字符串类型 BooleanField() #布尔类型 DateTimeField() #时间类型 listField() #可以插入列表的 DictField() #字典类型 ReferenceField() #参照类型 SequenceField() #自动产生一个数列、 递增的 字段限制:

Elasticsearch性能优化干货

家住魔仙堡 提交于 2019-11-30 16:18:32
1、集群规划优化实践 1.1 基于目标数据量规划集群 在业务初期,经常被问到的问题,要几个节点的集群,内存、CPU要多大,要不要SSD? 最主要的考虑点是:你的 目标存储数据量 是多大?可以针对目标数据量反推节点多少。 1.2 要留出容量Buffer 注意:Elasticsearch有三个警戒水位线,磁盘使用率达到85%、90%、95%。 不同警戒水位线会有不同的应急处理策略。 这点,磁盘容量选型中要规划在内。控制在 85%之下 是合理的。 当然,也可以通过配置做调整。 1.3 ES集群各节点尽量不要和其他业务功能复用一台机器。 除非内存非常大。 举例:普通服务器,安装了ES+Mysql+redis,业务数据量大了之后,势必会出现内存不足等问题。 1.4 磁盘尽量选择SSD Elasticsearch官方文档肯定 推荐SSD ,考虑到成本的原因。需要结合业务场景,如果业务对写入、检索速率有较高的速率要求,建议使用SSD磁盘。 阿里的业务场景,SSD磁盘比机械硬盘的速率提升了5倍。但要因业务场景而异。 1.5 内存配置要合理 官方建议:堆内存的大小是官方建议是:Min(32GB,机器内存大小/2)。 Medcl和wood大叔都有明确说过,不必要设置32/31GB那么大,建议: 热数据设置:26GB,冷数据:31GB 。 总体内存大小没有具体要求,但肯定是内容越大,检索性能越好。

ElasticSearch学习资料

余生颓废 提交于 2019-11-30 15:01:31
搜索引擎: 搜索引擎:全文索引,目录索引,元搜索引擎,垂直搜索引擎、集合式搜索引擎,门户搜索引擎。 全文索引引擎:搜索,建立起数据库,返回结果。 全文检索思路:非结构化的一部分信息提取出来-》重新组织-》变成一定结构(索引)-》提高搜索速度 基于lucene纯java全文搜索工具包,提供完整查询引擎和索引引擎 Apache基金的子项目 lucene是一个IR库(informationretrieval library)不是web爬行器。 lucene:1.对要搜索的文件建立索引 2.在索引的基础上搜索 Lucene:采用反向索引机制,通过特定的API建立索引。 倒排索引:基础知识: 文档(Document) 文档集合(Document Collection) 文档编号(Document ID)单词编号(word ID) 倒排索引(Inverted Index)单词-文档矩阵的一种具体形式。 单词词典(Lexicon)搜索引擎的通常索引单位是单词。单词词典内每条索引项记载单词本身的一些信息以及指向倒排列表的指针。 倒排列表(PostingList)出现过某个单词的所有文档的文档列表以及该单词在文档中的位置信息,每条记录称为一个倒排项(Posting),根据倒排列表可以获知哪些文档包含某个单词。 倒排文件:存放倒排列表的文件称为倒排文件,存放倒排索引的物理文件 注意:单词词典在内存

lucene全文检索

浪尽此生 提交于 2019-11-30 13:23:50
什么是全文检索 将数据分为两类, 结构化数据和非结构化数据 结构化数据: 有固定格式和有限长度, 比如关系型数据库中的数据, 查询的方式: sql 在数据量特别大的时候,可以考虑使用全文检索技术 非结构化数据: 没有固定格式和没有规定长度,比如电脑上的文档:txt,word 查询方式: 对于少量数据可以肉眼查找 对于大量数据可以使用全文检索技术 二.什么是全文检索技术 全文检索: 先建立索引,再对索引进行搜索的过程就叫做全文检索技术 三. 全文检索适用场景 分为三种情形 搜索引擎: 谷歌 百度 360 搜狗 搜搜 站内搜索: 网站内部进行搜索,如京东,淘宝,天涯,微博,猫扑 垂直搜索: 视屏网站的搜索,比如在优酷中可以搜索到腾讯的视频 四. 如何实现全文检索 在这里可以使用lucene进行实现 五. 什么是lucene? lucene 是apache提供用来实现全文检索的一套类库,jar,并不是框架 需要使用的坐标 第一步:导入jar 必须的包:lucene-core-4.10.3.jar lucene-analyzers-common-4.10.3.jar 分词器 commons-io.jar junit.jar <dependency> <groupId>org.apache.lucene</groupId> <artifactId>lucene-analyzers

实战 Lucene,第 1 部分: 初识 Lucene

↘锁芯ラ 提交于 2019-11-30 10:07:04
本文首先介绍了 Lucene 的一些基本概念,然后开发了一个应用程序演示了利用 Lucene 建立索引并在该索引上进行搜索的过程。 朋 周登 ( zhoudengpeng@yahoo.com.cn ), 软件工程师 2006 年 4 月 20 日 内容 Lucene 简介 索引和搜索 Lucene 软件包分析 一个简单的搜索应用程序 建立索引 搜索文档 总结 评论 Lucene 简介 Lucene 是一个基于 Java 的全文信息检索工具包,它不是一个完整的搜索应用程序,而是为你的应用程序提供索引和搜索功能。Lucene 目前是 Apache Jakarta 家族中的一个开源项目。也是目前最为流行的基于 Java 开源全文检索工具包。 目前已经有很多应用程序的搜索功能是基于 Lucene 的,比如 Eclipse 的帮助系统的搜索功能。Lucene 能够为文本类型的数据建立索引,所以你只要能把你要索引的数据格式转化的文本的,Lucene 就能对你的文档进行索引和搜索。比如你要对一些 HTML 文档,PDF 文档进行索引的话你就首先需要把 HTML 文档和 PDF 文档转化成文本格式的,然后将转化后的内容交给 Lucene 进行索引,然后把创建好的索引文件保存到磁盘或者内存中,最后根据用户输入的查询条件在索引文件上进行查询。不指定要索引的文档的格式也使 Lucene

SolrCloud 4.3.1+Tomcat 7安装配置实践

眉间皱痕 提交于 2019-11-30 08:20:08
我们使用Solr Replication可以实现Solr服务器的可用性,即使某一个索引副本由于磁盘介质故障或者误操作删除等,其他的多个复制副本仍然可以提供服务。如果只是单纯的基于Solr Replication技术,只能对一个索引进行管理维护,当索引数据达到一定规模,搜索的性能成了瓶颈,除了重新规划设计索引,实现逻辑划分以外,没有更好地方法实现查询服务器的可扩展性。 SolrCloud就是为了解决这个问题而提出的。SolrCloud通过ZooKeeper集群来进行协调,使一个索引(SolrCloud中叫做一个Collection)进行分片,各个分片可以分布在不同的物理节点上,而且,对于同一个Collection的多个分片(Shard)之间没有交集,亦即,多个物理分片组成一个完成的索引Collection。为了保证分片数据的可用性,SolrCloud自动支持Solr Replication,可以同时对分片进行复制,冗余存储。下面,我们基于Solr最新的4.3.1版本进行安装配置SolrCloud集群,通过实践来实现索引数据的分布存储和检索。 准备工作 服务器信息 三台服务器: [plain] view plain copy 10.95.3.61 master 10.95.3.62 slave1 10.95.3.65 slave4 ZooKeeper集群配置 安装ZooKeeper集群