1、与hdfs(hadoop)的集成
2、与zookeeper的集成
3、spring-data-elasticsearch
4、hibernate search
5、solrcloud
6、lucene
创建索引的数据流:JPA -> Mysql -> binlog -> canalserver -> canalclient(consumer) -> elasticsearch
全文检索:spring-data-elasticsearch repository ----查询数据从--->elasticsearch
如果对于数据一致性存疑,则可以每天运行一次基于jdbc的同步mysql数据的定时任务,形成闭环。
spring-data-es分析:
1、SimpleElasticsearchPersistentEntity 保存了Entity的元数据信息,通过SimpleElasticsearchMappingContext创建。
2、MappingBuilder 用来创建字段的元数据信息。
3、EntityInformation,MappingElasticsearchEntityInformation
4、MappingElasticsearchConverter
创建相关表:
CREATE TABLE `elastic`.`test001`(
`id` VARCHAR(32) NOT NULL ,
`name` VARCHAR(50) ,
`age` SMALLINT ,
`address`test001test001 VARCHAR(200) ,
`ver` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=INNODB COMMENT='' ROW_FORMAT=DEFAULT CHARSET=utf8mb4