Skip to content

[TASK] Migration Search Layer #34609

@fabrizzio-dotCMS

Description

@fabrizzio-dotCMS

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

Metadata

Metadata

Labels

No labels
No labels

Type

Projects

Status

In Progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions