文章目录
一、什么是全文索引
我们在浏览各种网页的情况下,无不例外需要涉及到搜索的需求。然而像淘宝、京东这类的大流量公司,存储的数据量达到上亿的情况下。若还是编写select语句去查询每一条记录,老板早就把你开了。在高数据量的情况下,要实现快速,哦不,迅速查询的需求,我们就要使用到全文索引。
二、ElasticSearch简介
概述
Elasticsearch是面向文档(document oriented)的,这意味着它可以存储整个对象或文档(document)。然而它不仅仅是存储,还会索引(index)每个文档的内容使之可以被搜索。在Elasticsearch中,你可以对文档(而非成行成列的数据)进行索引、搜索、排序、过滤。Elasticsearch比传统关系型数据库如下:
三、IK分词器
简介
简单来说,IK分词器可以把一句话分为几个词,方便索引的建立和查找。例如:“我是大帅哥”—>“我” “是” “大帅哥”。
IK分词器3.0的特性如下:
- 采用了特有的“正向迭代最细粒度切分算法“,具有60万字/秒的高速处理能力。
- 采用了多子处理器分析模式,支持:英文字母(IP地址、Email、URL)、数字(日期,常用中文数量词,罗马数字,科学计数法),中文词汇(姓名、地名处理)等分词处理。
- 对中英联合支持不是很好,在这方面的处理比较麻烦.需再做一次查询,同时是支持个人词条的优化的词典存储,更小的内存占用。
- 支持用户词典扩展定义。
- 针对Lucene全文检索优化的查询分析器IKQueryParser;采用歧义分析算法优化查询关键字的搜索排列组合,能极大的提高Lucene检索的命中率。
四、Kibana使用-掌握DSL语句
简介
我们在搭建好的ElasticSearch中往往无法满足我们复杂的业务需求。Kibana 是一款开源的数据分析和可视化平台,它是 Elastic Stack 成员之一,设计用于和 Elasticsearch协作。您可以使用 Kibana 对Elasticsearch 索引中的数据进行搜索、查看、交互操作。您可以很方便的利用图表、表格及地图对数据进行多元化的分析和呈现。Kibana 可以使大数据通俗易懂。它很简单,基于浏览器的界面便于您快速创建和分享动态数据仪表板来追踪 Elasticsearch 的实时数据变化。
我们通过DSL语句便可对索引库中的数据进行增删改查业务。具体api可参考链接: DSL语句API。
Spring Data
Spring Data是一个用于简化数据库访问,并支持云服务的开源框架。其主要目标是使得对数据的访问变得方便快捷,并支持map-reduce框架和云计算数据服务。 Spring Data可以极大的简化JPA的写法,可以在几乎不用写实现的情况下,实现对数据的访问和操作。除了CRUD外,还包括如分页、排序等一些常用的功能。具体api可参考链接: Spring Data Elasticsearch-----API.