目前使用比较多的分布式搜索引擎是ElasticSearch。那么项目中如何使用ES?如何保证ES的数据更新?下面简单做个描述。
Elasticsearch使用可以简单分为两个阶段。数据初始化阶段、数据更新阶段。
数据初始化阶段。数据初始化常见的方式如下:
一、通过应用程序手动将数据库中的数据,调用ES接口API插入ES索引库中。
二、同过数据迁移工具将数据初始化到ES数据库。目前常用的ES同步工具有logstash-input-jdbc、DataX。通过同步迁移工具可以全量将数据库数据初始化到ES索引库中。
数据更新阶段。数据更新阶段常见的处理方式如下:
一、通过应用服务直接调用ES更新接口。这种方式实现比较简单但是对业务侵入性比较大。
二、对于实时性要求不高的可以采用定时任务监控数据表变化然后调用ES接口实现数据更新。
三、业务应用中通过发送消息异步更新数据。
四、通过DataX同步工具定时将修改的数据同步到ES库中。
上述是ElasticSearch使用的简单描述。使用的关键还是数据库与ES间的数据同步。能否用的好关键也是数据间的同步。
es数据库优缺点为。1、优点:速度快,ES是专门为文本搜索而设计的,使用者可以通过简单的API查询所需文档并得到响应;可扩展,ES可以轻松地分配分布在多个节点上的数据和 *** 作,用户可以轻松地扩展并提高性能;可靠性高,ES可以水平扩展,包括自动集群和d性搜索等功能,具有优秀的故障转移和恢复能力;易用性好,ES使用RESTAPI进行交互,具有良好的可 *** 作性和易部署性。
2、缺点:数据安全性差,ES对数据的安全性要求需要用户自己保障,需配置好权限控制等安全规则;硬盘容量占用方面ES不支持动态裁剪,它将在硬盘中占用更多的空间,并且无法自动删除过期的数据;ES的排名算法相对简单,缺乏语义分析等高级特征。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)