常⻅的搜索引擎,Lucene,Solr,Elasticsearch
###
### Lucene
Lucene是⼀个Java全⽂搜索引擎,完全⽤Java编写。Lucene不是⼀个完整的应⽤程序,⽽是⼀个代码库和API,可以很容易地⽤于向应⽤程序添加搜索功能。
###
通过简单的API提供强⼤的功能
1. 可扩展的⾼性能索引
3. 强⼤,准确,⾼效的搜索算法
5. 跨平台解决⽅案
###
Apache软件基⾦会
1. 在Apache软件基⾦会提供的开源软件项⽬的Apache社区的⽀持。
3. 但是Lucene只是⼀个框架,要充分利⽤它的功能,需要使⽤java,并且在程序中集成
5. Lucene。需要很多的学习了解,才能明⽩它是如何运⾏的,熟练运⽤Lucene确实⾮常复杂。
###
### Solr
Solr是⼀个基于Lucene的Java库构建的开源搜索平台。它以⽤户友好的⽅式提供Apache Lucene的搜索功能。它是⼀个成熟的产品,拥有强⼤⽽⼴泛的⽤户社区。它能提供分布式索引,复制,负载均衡查询以及⾃动故障转移和恢复。如果它被正确部署然后管理得好,它就能够成为⼀个⾼度可靠,可扩展且容错的搜索引擎。很多互联⽹巨头,如Netflix,eBay,Instagram和亚⻢逊都使⽤Solr,因为它能够索引和搜索多个站点。
###
强⼤的功能
1. 全⽂搜索
3. 突出
5. 分⾯搜索
7. 实时索引
9. 动态群集
11. 数据库集成
13. NoSQL功能和丰富的⽂档处理
###
### Elasticsearch
Elasticsearch是⼀个开源,是⼀个基于Apache Lucene库构建的Restful搜索引擎. Elasticsearch是在Solr之后⼏年推出的。它提供了⼀个分布式,多租户能⼒的全⽂搜索引擎,具有HTTP Web界⾯(REST)和⽆架构JSON⽂档。Elasticsearch的官⽅客户端库提供Java,Groovy,PHP,Ruby,Perl,Python,.NET和Javascript。
###
主要功能
1. 分布式搜索
3. 数据分析
5. 分组和聚合
###
应⽤场景
1. 维基百科
3. Stack Overflow
5. GitHub
7. 电商⽹站
9. ⽇志数据分析
11. 商品价格监控⽹站
13. BI系统
15. 站内搜索
- 基础概念
- 为什么不使用mysql做全文搜索
- 常见的搜索引擎
- 快速安装部署es
- 补充ES和kibana认证
- 补充kibana中文显示
- ES的目录以及核心概念介绍
- RESTful风格介绍
- 索引的各类操作
- 映射的各类操作
- 文档的各类操作
- 搜索的使用
- 中文分词器
- 常见字段类型
- kibana的安装
- es批量导入数据
- es的term的多种查询
- es的范围查询
- es的布尔查询
- es的排序查询
- es的指标聚合查询
- es的桶聚合查询
- es的别名操作
- es重建索引
- es的refresh操作
- es的高亮查询
- es的查询建议
- java实操es之集成
- 补充java操作es集成认证
- 补充java连接es集群
- java实操es之准备工作
- java实操es之各种骚操作(一期)
- java实战之数据库文件
- java实操es之各种骚操作(二期)
- java实操es之各种骚操作(三期)
- es分布式集群概念介绍
- es分布式集群的搭建
- es分布式集群kibana的配置
- es分布式集群分片管理
- es分布式集群节点健康管理
- es故障排查总结