Description
After a deeper review, it was determined that the core classes underlying the OpenSearch functionality can be isolated into seven main groups:
• Foundation: Low-level classes responsible for communication with Elasticsearch/OpenSearch.
• Core Infrastructure: Fundamental classes responsible for index orchestration.
• Mapping Layer: Transformation layer between the search index and Contentlets.
• Business Core: Core business logic.
• Search Layer: Specialized classes dedicated to search operations.
• High-Level API: Business logic that consumes services from the lower layers.
• Utilities: Supporting and helper logic.
This task consolidates the work required for the Core Mapping layer. This layer consists of classes that save and update content in the index. Two high-complexity classes have been identified:
• ESSearchAPIImpl
• ESSiteSearchAPI
Depends on: #34153, #34164, #34608
Acceptance Criteria
Both ESSearchAPIImpl and ESSiteSearchAPI must remain fully functional within dotCMS and support operation with both Elasticsearch and OpenSearch instances running in parallel. The system must ensure backward compatibility with Elasticsearch while introducing support for OpenSearch. The selection of the underlying search engine must be controlled through a Feature Flag, where enabling the flag activates OpenSearch, and disabling it preserves the existing Elasticsearch behavior, without requiring code changes outside of configuration.
Priority
None
Additional Context
https://docs.google.com/spreadsheets/d/14W1i7EAECaXeD9tSFGF0Cz4ru0rGnp_fGjajswleNnE/edit?gid=110171540#gid=110171540
Description
After a deeper review, it was determined that the core classes underlying the OpenSearch functionality can be isolated into seven main groups:
This task consolidates the work required for the Core Mapping layer. This layer consists of classes that save and update content in the index. Two high-complexity classes have been identified:
• ESSearchAPIImpl
• ESSiteSearchAPI
Depends on: #34153, #34164, #34608
Acceptance Criteria
Both ESSearchAPIImpl and ESSiteSearchAPI must remain fully functional within dotCMS and support operation with both Elasticsearch and OpenSearch instances running in parallel. The system must ensure backward compatibility with Elasticsearch while introducing support for OpenSearch. The selection of the underlying search engine must be controlled through a Feature Flag, where enabling the flag activates OpenSearch, and disabling it preserves the existing Elasticsearch behavior, without requiring code changes outside of configuration.
Priority
None
Additional Context
https://docs.google.com/spreadsheets/d/14W1i7EAECaXeD9tSFGF0Cz4ru0rGnp_fGjajswleNnE/edit?gid=110171540#gid=110171540