Skip to content

[TASK] Migrate Core infrastructure classes  #34153

@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 Infrastructure layer, where two high-complexity classes have been identified:
ESIndexAPI
ESContentFactoryImpl

Depends on: #34148

The estimated timeline for completion is 3–4 weeks.

Acceptance Criteria

Both ESIndexAPI and ESContentFactoryImpl 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

Assignees

No one assigned

    Labels

    Type

    Projects

    Status

    Next 2-4 Sprints

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions