码迷,mamicode.com
首页 > 其他好文 > 详细

Lucence

时间:2018-04-28 19:42:03      阅读:235      评论:0      收藏:0      [点我收藏+]

标签:kibana   sdk   通信   操作   开源   基于   minimum   请求   direct   

1、关键字检索的第一步是对整个文档分词

英文  空格

中文  中文词库配合中文分词法

中文分词有IK和庖丁,直接配置就可以使用

 

2、lucence的开源项目

--lucence core:java编写的核心类库,提供了全文检索功能的底层API与SDK

--Solr:基于lucence core开发的高性能,搜索服务,提供了RESTAPI的高层封装接口

 

3、五个基础类

--Document 任何待搜索文档

--Field 属性

--IndexWriter 建立索引,并将索引持久化到Directory中

--Analyzer 对文档内容分词找出关键词

--Directory 代表lucence索引的存储位置(内存,文件)

 

4、lucence缺点:无法分布式

Solr、ElasticSearch基于lucence的分布式,全文检索中间件

 

5、lucence普遍与网络爬虫相结合,通过爬虫抓取各个电商平台上的商品信息并录入lucence索引库

 

6、solr分布式集群 solrcloud

去中心化:通过zookeeper协调

分片算法:一致性哈希算法

leader节点:由zookeeper选出

每个分片由3份数据的话:一份leader 两份replica

索引数据的副本同步,数据请求转发给所在分片的leader节点,再由leader节点同步到各Replica节点上。

 

7、近实时查询 依靠soft commit

--soft commit 内存

--hard commit 磁盘

 

8、ELK

ElasticSearch

Logstash:实时管道能力的数据收集引擎,用来收集日志数据,并且作为索引数据写入ES集群中

Kibana:为ES提供了数据分析及数据可视化的web界面

 

9、ES也是分布式系统,但不使用zookeeper,而是自己实现了一套被称为Zen Discovery的模块,该模块主要负责集群中节点的自动发现,和master节点的选举

discovery.zen.minimum_master_nodes 它决定了在选举Master的过程中需要有多少个节点通信

ES有个Tribe节点:可以连接多个集群,在所有集群中执行搜索和其他操作

 

Lucence

标签:kibana   sdk   通信   操作   开源   基于   minimum   请求   direct   

原文地址:https://www.cnblogs.com/ng1991/p/8969102.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!