Skip to content

Refactor SearchServiceClient into SearchIndexClient and SearchIndexerClient #11507

@heaths

Description

@heaths

To avoid too many methods in SearchServiceClient, we will refactor it into two separate clients that group the functionality into index management, and skillsets (enrichments) management. Method names will retain their names they have today, like CreateIndex, DeleteIndex, CreateDataSource, DeleteDataSource, etc. This also means there should be the GetServiceStatistics like we should have no, instead of dropping "Service". This differentiates it with GetIndexStatistics.

  • SearchIndexClient will aggregate:

    • Index operations: CreateIndex, etc.
    • Synonym map operations: CreateSynonymMap, etc.
    • Service operations: GetServiceStatistics
    • Define/retain GetSearchClient that takes a string indexName and returns a SearchClient
  • SearchIndexerClient will aggregate:

    • Indexer operations: CreateIndexer, etc.
    • Data source operations: CreateDataSource, etc.
    • Skillset operations: CreateSkillset, etc.

Metadata

Metadata

Assignees

No one assigned

    Labels

    ClientThis issue points to a problem in the data-plane of the library.Searchblocking-releaseBlocks release

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions