We are seeking a skilled Elasticsearch Developer to join our team. The ideal candidate will have extensive experience in building, managing, and optimizing Elasticsearch clusters and will be responsible for designing and implementing high-performance, scalable, and resilient search solutions.
As an Elasticsearch Developer, you will work closely with the data engineering, DevOps, and software development teams to deliver efficient and effective search functionalities that meet the business and technical requirements of our projects.
Key Responsibilities:
1. Elasticsearch Cluster Management:
Design, configure, and maintain Elasticsearch clusters for performance, availability, and scalability.
Set up monitoring and alerting for Elasticsearch performance and health.
Perform regular index management, optimization, and tuning for query performance.
2. Data Indexing & Search Optimization:
Design and implement indexing strategies and data pipelines for structured and unstructured data.
Develop and optimize Elasticsearch queries for performance and relevancy.
Implement techniques such as sharding, replication, and re-indexing to optimize search performance.
3. Search Engine Integration:
Work with engineering teams to integrate Elasticsearch into web applications, APIs, and data services.
Design and implement full-text search, fuzzy search, and autocomplete functionalities.
Ensure seamless integration of Elasticsearch with various backend services.
4. Elasticsearch Security and Maintenance:
Implement security protocols, such as SSL/TLS, user authentication, and role-based access control (RBAC).
Perform upgrades, backups, and recovery operations for Elasticsearch clusters.
Ensure the security of Elasticsearch clusters and data.
5. Collaboration and Documentation:
Collaborate with data engineers, backend developers, and DevOps teams to deliver search solutions that align with the business needs.
Maintain comprehensive documentation of the Elasticsearch environment, including architecture, configurations, and operations.
Experience:
6+ years of hands-on experience with Elasticsearch and the Elastic Stack (ELK): Elasticsearch, Logstash, Kibana, and Beats.
Strong understanding of Elasticsearch architecture, APIs, query DSL, and index lifecycle management.
Experience in integrating Elasticsearch with web applications and/or microservices architecture.
Technical Skills:
Proficient in designing and optimizing Elasticsearch indexes for high-volume, real-time data search.
Strong knowledge of sharding, replication, and scaling Elasticsearch clusters.
Proficiency in creating complex queries, aggregations, and filtering using the Elasticsearch Query DSL.
Familiarity with monitoring tools (e.g., Kibana, Prometheus, Grafana) for analyzing cluster health and performance.
Experience with data pipelines and ETL processes involving Elasticsearch, Logstash, and Beats.
Knowledge of data security best practices, including securing Elasticsearch clusters.
Programming Skills:
Proficient in one or more programming languages such as Java, Python, or Node.js for integrating Elasticsearch into applications.
Familiarity with RESTful APIs and microservices architectures.
Soft Skills:
Strong problem-solving and analytical skills.
Ability to work collaboratively in cross-functional teams.