This course covers the fundamentals of developing, debugging, deploying and maintaining a search engine. We'll learn how to develop performant indexing and query pipelines, scale our engine for both high volume query and document loads. We will also dig into how to best debug common scenarios related to typical search use cases and performance needs. Finally, we will cover how to design for fault tolerance and disaster recovery, while monitoring the health and security of your production system.
Throughout the course, you will take a hands-on approach via weekly projects and examples using the OpenSearch search engine (an open fork of Elasticsearch). While the course uses OpenSearch, the concepts taught will be broadly applicable across search engines like Apache Solr, Lucene, Elasticsearch and Vespa.
Note: This course assumes that you have already learned search fundamentals; if not, then we encourage you to take our companion “Search Fundamentals” course so that you will be prepared for this one.
Course taught by expert instructors
Former CTO at Wikimedia
Grant is a CTO, independent consultant and advisor. He is the former CTO of the Wikimedia Foundation and the co-founder and ex-CTO of Lucidworks, co-author of Taming Text, co-founder of Apache Mahout and a long-standing committer on the Apache Lucene and Solr open source projects. Grant’s experience includes managing a large team of engineers, researchers and data scientists at a top ten website as well as engineering a variety of search, question answering, and natural language processing applications for a variety of domains and languages. He earned his B.S. from Amherst College in Math and Computer Science and his M.S. in Computer Science from Syracuse University.
Principal Software Engineer at NetSuite
Dave is a versatile software architect, technology, and entrepreneur, and currently a Principal Software Engineer at Oracle NetSuite. Dave's areas of expertise include building and operating high-scale, data-intensive distributed systems, search with machine learning applications, container orchestration, and SRE. Prior to Oracle NetSuite, Dave has been a serial entrepreneur as Co-Founder of Peopleclick and Zema Good.
Learn and apply skills with real-world projects.
Software engineers looking to enhance their search engineering skills related to indexing and search performance, scalability, fault tolerance, security and debugging.
Ability to write Python and work with documented libraries.
Comfort working with web applications, Docker basics (e.g. start, stop) and the command line.
Search Fundamentals (https://corise.com/course/search-fundamentals) class certificate or academic or industry experience working with search engines such as Elasticsearch/OpenSearch/Solr/Vespa. We will not be teaching search fundamentals in this course.
Try these prep courses first
ProjectYou will improve the Indexing and query performance of a working search system.
- Understand common search architectures and when to use them
- Learn how to increase query and indexing performance
- Know key data modeling tradeoffs performance implications
ProjectYou will tune a single node of OpenSearch for memory, storage and performance factors as well as explore key single node configurations and their impact on the system.
- Understand how to tune a search engine for memory and storage considerations of an application
- Learn how different caching strategies work and their performance implications
- Know what OpenSearch, JVM and operating system parameters impact search operations
ProjectYou will expand your single node OpenSearch instance to a multi-node search cluster
- Know the node roles and strategies for scaling out your cluster, such as election of primary and replica nodes
- Understand leader election and failover scenarios
- Learn common sharding and replication strategies and how they relate to query and ingestion performance
ProjectYou will work through key monitoring, backup/recovery and security scenarios to improve the health of your cluster.
- Understand key monitoring features and functionalities
- Know what the key operational metrics are to ensure cluster health and stability
- Learn how to configure key security features such as encryption, authentication, and authorization on a cluster
- Understand options for backup and recovery of indices
Work on projects that bring your learning to life.
Made to be directly applicable in your work.
Live access to experts
Sessions and Q&As with our expert instructors, along with real-world projects.
Network & community
Core reviews a study groups. Share experiences and learn alongside a global network of professionals.
Support & accountability
We have a system in place to make sure you complete the course, and to help nudge you along the way.