Overview
A typical engagement starts with a platform team that runs Elasticsearch for product and content search and is asked whether a different engine would be cheaper, simpler or safer. Opinions differ inside the team, and nobody has listed what the application depends on.
Challenge
The three options fail in different places. OpenSearch keeps the Query DSL but needs client and shipper changes and cannot follow Elasticsearch features added after 7.10. Solr is a rewrite of queries, mappings and analyzers. Staying on Elasticsearch keeps everything but leaves the licence and cost questions open. Choosing on reputation instead of on the inventory is how migrations stall halfway.
Environment
A self-managed or hosted Elasticsearch cluster behind a customer-facing search feature, with application clients in more than one language, custom analyzers and synonyms, saved dashboards, and shippers feeding logs into the same or a second cluster.
Approach
AceMQ engineers inventory the queries by traffic, the mappings and analyzers, the clients and shippers, the dashboards and the features that depend on a particular distribution. Each item is classified as portable, needing a change, or needing a redesign for each of the three options. Relevance is checked by running the top queries against a test index in the candidate engine and comparing ranked results with the current ones.
Solution
- Query inventory ranked by traffic, with the constructs that do not map to each candidate engine flagged
- Mapping, analyzer and synonym review, showing which carry over and which are rewritten
- Client library and shipper version check for each option
- Relevance comparison of the top queries on a test index in each candidate engine
- Licence, hosting and support comparison for the options, without pricing assumptions
- Written recommendation with the reasoning, including the case for staying, and a phased plan if a move is chosen
Outcome
The engagement delivers the inventory, the per-option list of changes, a ranked-result comparison from the customer's own queries, and a written recommendation with a phased plan for the chosen path. If the answer is to stay, the customer gets that conclusion and the reasons in writing.