-
Type: New Feature
-
Status: Resolved
-
Priority: Minor
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: 2025.x
-
Component/s: Elasticsearch
-
Epic Link:
-
Tags:
-
Team:PLATFORM
-
Sprint:nxplatform #113, nxplatform #114, nxplatform #115
-
Story Points:8
Add a new search service at core level, implementation will be contributed by packages.
We want to be able to contribute a SearchClient with its associated indexes:
- SearchClient with an implementation class and connection options to access a search service (elastic, opensearch, ...)
- SearchIndex config to setup an index tied to a repository (settings and mappings)
We want to be able to
- have multiple index configurations per search client: typical multi-repo setup on an elastic cluster
- have multiple search clients: so we could split the elastic cluster or use mulltiple clients (elastic, opensearch ...) at the same time
- have multiple index configuration on the same repository: could be useful to have localized indexes for a repository
The Search client should provides:
- way to create index if not exists with mapping/settings
- way to drop index
- way to index/delete docs: indexDocuments(index, List<String> toDelete, List<JsonNode> toUpsert, boolean refresh)
Basic Search Service is focused on indexing with a opensearch 1.x implementation
for now this will part of core module (to be externalized on a package)