赞
踩
倒排索引源于实际应用中需要根据属性的值来查找记录。这种索引表中的每一项都包括一个属性值和具有该属性值的各记录的地址。由于不是由记录来确定属性值,而是由属性值来确定记录的位置,因而称为倒排索引(inverted index)。带有倒排索引的文件我们称为倒排索引文件,简称倒排文件(invertedfifile)。
就是一个jar包,里面封装了全文检索的引擎、搜索的算法代码。开发时,引入lucen的jar包,通过api开发搜索相关业务。底层会在磁盘建立索引库。
官网:https://www.elastic.co/cn/products/elasticsearch1.3.2
搜索:互联网搜索、电商网站站内搜索、OA系统查询
数据分析:电商网站查询近一周哪些品类的图书销售前十;
新闻网站,最近3天阅读量最高的十个关键词,舆情分析。
全文检索:搜索商品名称包含java的图书select from books where book_name like “%java%”。
结构化检索:搜索商品分类为spring的图书都有哪些,select from books where category_id=‘spring’
数据分析:分析每一个分类下有多少种图书,select category_id,count() from books group by category_id
分布式:ES自动可以将海量数据分散到多台服务器上去存储和检索,进行并行查询,提高搜索效率。相对的,Lucene是单机应用。
近实时:数据库上亿条数据查询,搜索一次耗时几个小时,是批处理(batch-processing)。而es只需秒级即可查询海量数据,所以叫近实时。秒级。
国外:
维基百科,类似百度百科,“网络七层协议”的维基百科,全文检索,高亮,搜索推荐StackOverflflow(国外的程序讨论论坛),相当于程序员的贴吧。遇到it问题去上面发帖,热心网友下面回帖解答。GitHub(开源代码管理),搜索上千亿行代码。电商网站,检索商品日志数据分析,logstash采集日志,ES进行复杂的数据分析(ELK技术,elasticsearch+logstash+kibana)商品价格监控网站,用户设定某商品的价格阈值,当低于该阈值的时候,发送通知消息给用户,比如说订阅《Carl的笔记》的监控,如果价格低于27块钱,就通知我,我就去买。BI系统,商业智能(Business Intelligence)。大型连锁超市,分析全国网点传回的数据,分析各个商品在什么季节的销售量最好、利润最高。成本管理,店面租金、员工工资、负债等信息进行分析。从而部署下一个阶段的战略目标。
国内:
以前的百度搜索,第一次查询,使用es。后面则会添加一些广告。OA、ERP系统站内搜索。
Lucene:最先进、功能最强大的搜索库,直接基于lucene开发,非常复杂,api复杂Elasticsearch:基于lucene,封装了许多lucene底层功能,提供简单易用的restful api接口和许多语言的客户端,如java的高级客户端(Java High Level REST Client)和底层客户端(Java Low Level REST Client)起源:Shay Banon。2004年失业,陪老婆去伦敦学习厨师。失业在家帮老婆写一个菜谱搜索擎。封装了lucene的开源项目,compass。找到工作后,做分布式高性能项目,再封装compass,写出了elasticsearch,使得lucene支持分布式。现在是Elasticsearch创始人兼Elastic首席执行官。哈哈,等什么时候carl回家做菜了也写个组件出来。
NRT(NearRealtime):近实时
两方面:
写入数据时,过1秒才会被搜索到,因为内部在分词、录入索引。
es搜索时:搜索和分析数据需要秒级出结果。
Cluster:集群
包含一个或多个启动着es实例的机器群。通常一台机器起一个es实例。同一网络下,集名一样的多个es实例自动组成集群,自动均衡分片等行为。默认集群名为“elasticsearch”。
Node:节点
每个es实例称为一个节点。节点名自动分配,也可以手动配置。
Index:索引
包含一堆有相似结构的文档数据。
索引创建规则:
Document:文档
es中的最小数据单元。一个document就像数据库中的一条记录。通常以json格式显示。多个document存储于一个索引(Index)中。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。