全文检索及ElasticSearch框架学习
Posted aoyihuashao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了全文检索及ElasticSearch框架学习相关的知识,希望对你有一定的参考价值。
1. 全文检索的通用步骤:
1、建库步骤:
a 分词
b 倒排索引 : 关键词和记录Id的对应关系,1对多。
2、查询步骤:
a 分词
b 查索引
c 取交集或并集
2. 产品使用全文检索的一种场景
如上图,
由数据库或者应用软件生成数据,通过logstash导入elasticSearch系统。
Kibana提供了可视化界面或者命令模式可以查询分析系统数据。
当然,elasticSearch也提供了rest接口,可以在各种应用程序中自己调用。
当然了,elasticSearch最大的优点是他是天然分布式的。
下面简单介绍这几个组件。
3. ElasticSearch介绍
这个之前看过了
ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
详细看:https://es.xiaoleilu.com/
下载 https://www.elastic.co/downloads/elasticsearch
安装好
4. Kibana介绍
Kibana 是一个开源的分析和可视化平台,旨在与 Elasticsearch 合作。Kibana 提供搜索、查看和与存储在 Elasticsearch 索引中的数据进行交互的功能。开发者或运维人员可以轻松地执行高级数据分析,并在各种图表、表格和地图中可视化数据。
详细参考: https://www.cnblogs.com/moonlightL/p/7764919.html
官网 https://www.elastic.co/downloads/kibana
5. Logstash介绍
Logstash 是一个开源的数据收集引擎,它具有备实时数据传输能力。它可以统一过滤来自不同源的数据,并按照开发者的制定的规范输出到目的地。
顾名思义,Logstash 收集数据对象就是日志文件。由于日志文件来源多(如:系统日志、服务器 日志等),且内容杂乱,不便于人类进行观察。因此,我们可以使用 Logstash 对日志文件进行收集和统一过滤,变成可读性高的内容,方便开发者或运维人员观察,从而有效的分析系统/项目运行的性能,做好监控和预警的准备工作等。
而且logstash还能主动从sql中去查数据,配置如下:
以上是关于全文检索及ElasticSearch框架学习的主要内容,如果未能解决你的问题,请参考以下文章
ELK在广告系统监控中的应用 及 Elasticsearch简介