全文搜索
- 顺序扫描(Serial Scanning):从头到尾扫描,列入linux的grep命令
- 全文搜索(Full-text Search):结构化非结构数据,建立索引,加快搜索
实现步骤
建立文本库 -> 建立索引 ->执行搜索 -> 过滤结果
全文搜索技术
- Lucene: 搜索引用
- ElasticSearch:支持json,xml,csv格式文本。自己带有分布式
- Solr:利用了zooKeeper进行做分布式 只支持json格式
ElasticSearch
特点
- 分布式
- 高可用
- 多类型:数据类型多样
- 多API:支持restful接口
- 面向文档:NoSql结构
- 异步写入:性能高
- 近实时
- 基于Lucene
- Apache协议
核心概念
- 近实时:index_refresh 刷新时间间隔
- 集群:分布式
- 节点
- 索引:相似文档的集合
- 类型:索引的细分
- 文档:数据
- 分片:分散数据至多个节点
- 副本:backup, 提高搜索效率
ElasticSearch和springBoot集成
- 添加依赖
- compile(‘org.springframework.boot:spring-boot-starter-data-elasticsearch’)
- compile(‘net.java.dev.jna:jna:4.3.0’)