网站开发合作合同,wordpress json 登陆,宁波网络公司怎么选,建设数据库搜索网站对于Elasticsearch#xff08;ES#xff09;#xff0c;我了解并有经验。在我之前的公司#xff0c;我们有一个相对大型的ES集群#xff0c;以下是该集群的架构和一些调优手段的概述#xff1a;
1. 集群架构 集群规模#xff1a;我们的ES集群由15个节点组成#xff0c… 对于ElasticsearchES我了解并有经验。在我之前的公司我们有一个相对大型的ES集群以下是该集群的架构和一些调优手段的概述
1. 集群架构 集群规模我们的ES集群由15个节点组成涵盖了数据节点和主节点。索引数量我们有30多个索引根据不同的数据通道进行划分。每天根据日期递增创建新的索引大约每天增加20个以上的索引。分片数每个索引有10个主分片用于水平分布和并行处理数据。数据大小每个索引的大小受限制在150GB以内。 根据实际的项目经验来说 如果没有就按照这个说就行前提是你得理解技术细节 不然容易露馅
2. 调优手段 2.1 设计阶段调优 基于日期模板创建索引通过使用roll over API我们按照日期模板创建新的索引以便更好地管理和维护数据。使用别名进行索引管理通过别名来引用索引而不是直接使用具体的索引名称简化了索引切换和管理的过程。定时force_merge操作每天凌晨定时执行force_merge操作以减少碎片并释放磁盘空间。冷热分离机制将热数据存储在SSD上以提高检索效率同时定期对冷数据进行shrink操作以减少存储空间占用。使用Curator进行索引的生命周期管理通过Curator工具自动管理索引的创建、删除和归档等操作。合理设置分词器针对需要进行全文搜索的字段选择合适的分词器以提高搜索质量和效率。结合字段属性进行Mapping设置在Mapping阶段根据字段的需求和特性设置是否需要检索、是否需要存储等属性。
2.2 写入调优 副本数设置为0在写入数据之前暂时关闭副本以提高写入性能。关闭refresh_interval在写入过程中将refresh_interval设置为-1禁用刷新机制以减少刷新操作对写入性能的影响。批量写入使用bulk批量写入API将多个文档一次性提交减少频繁的网络开销和IO操作。恢复副本数和刷新间隔在写入完成后恢复副本数和刷新间隔以确保数据的可靠性和及时可见性。自动生成ID尽量使用ES自动生成的ID避免额外的ID生成操作和性能消耗。
2.3 查询调优 禁用通配符查询尽量避免使用通配符查询因为它们会增加查询的复杂性和开销。 避免批量terms查询对于包含大量terms的查询尽量避免使用批量terms查询以免影响查询性能。 合理使用keyword类型尽可能将字段设置为keyword类型充分利用倒排索引机制提高查询效率。 基于时间范围进行索引选择对于大量数据的情况可以根据时间范围先确定索引以减少需要搜索的索引数量。 设置合理的路由机制在选择合理的路由机制时可以考虑以下几个因素 数据特点根据数据的特点选择适合的路由字段。例如如果数据中包含地理位置信息可以选择将地理位置作为路由字段以便将具有相似地理位置的文档存储在相邻的分片上提高查询效率。 查询需求根据常见的查询需求选择合适的路由策略。例如如果经常根据时间范围进行查询可以选择将时间作为路由字段使具有相近时间的文档存储在相邻的分片上以便快速定位需要查询的数据。 分片数量考虑集群中的分片数量和规模选择适当的路由策略。如果集群中的分片较少可以使用哈希路由默认路由策略以确保数据均匀分布。如果集群中的分片较多可以选择更具体的路由策略以满足特定的查询需求。
理的路由策略以实现数据的均衡分布和查询的优化。 2.4 其他调优 部署调优优化硬件配置、网络拓扑和节点布局以确保集群的性能和可靠性。业务调优根据具体业务需求和查询模式优化查询DSL语句、索引设计和数据模型以提高搜索效率和准确性。偏向于具体的业务怎么设计