diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.fieldsfromsource.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.fieldsfromsource.md
index d343d8ce180da4..bd5fe56df98b6d 100644
--- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.fieldsfromsource.md
+++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.fieldsfromsource.md
@@ -14,5 +14,5 @@ Retreive fields directly from \_source (legacy behavior)
Signature:
```typescript
-fieldsFromSource?: NameList;
+fieldsFromSource?: estypes.Fields;
```
diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.md
index 22dc6fa9f627ba..e83e2261dc2a00 100644
--- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.md
+++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.md
@@ -18,7 +18,7 @@ export interface SearchSourceFields
| --- | --- | --- |
| [aggs](./kibana-plugin-plugins-data-public.searchsourcefields.aggs.md) | object | IAggConfigs | (() => object)
| [AggConfigs](./kibana-plugin-plugins-data-public.aggconfigs.md) |
| [fields](./kibana-plugin-plugins-data-public.searchsourcefields.fields.md) | SearchFieldValue[]
| Retrieve fields via the search Fields API |
-| [fieldsFromSource](./kibana-plugin-plugins-data-public.searchsourcefields.fieldsfromsource.md) | NameList
| Retreive fields directly from \_source (legacy behavior) |
+| [fieldsFromSource](./kibana-plugin-plugins-data-public.searchsourcefields.fieldsfromsource.md) | estypes.Fields
| Retreive fields directly from \_source (legacy behavior) |
| [filter](./kibana-plugin-plugins-data-public.searchsourcefields.filter.md) | Filter[] | Filter | (() => Filter[] | Filter | undefined)
| [Filter](./kibana-plugin-plugins-data-public.filter.md) |
| [from](./kibana-plugin-plugins-data-public.searchsourcefields.from.md) | number
| |
| [highlight](./kibana-plugin-plugins-data-public.searchsourcefields.highlight.md) | any
| |
@@ -29,7 +29,7 @@ export interface SearchSourceFields
| [searchAfter](./kibana-plugin-plugins-data-public.searchsourcefields.searchafter.md) | EsQuerySearchAfter
| |
| [size](./kibana-plugin-plugins-data-public.searchsourcefields.size.md) | number
| |
| [sort](./kibana-plugin-plugins-data-public.searchsourcefields.sort.md) | EsQuerySortValue | EsQuerySortValue[]
| [EsQuerySortValue](./kibana-plugin-plugins-data-public.esquerysortvalue.md) |
-| [source](./kibana-plugin-plugins-data-public.searchsourcefields.source.md) | NameList
| |
+| [source](./kibana-plugin-plugins-data-public.searchsourcefields.source.md) | boolean | estypes.Fields
| |
| [terminate\_after](./kibana-plugin-plugins-data-public.searchsourcefields.terminate_after.md) | number
| |
| [timeout](./kibana-plugin-plugins-data-public.searchsourcefields.timeout.md) | string
| |
| [trackTotalHits](./kibana-plugin-plugins-data-public.searchsourcefields.tracktotalhits.md) | boolean | number
| |
diff --git a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.source.md b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.source.md
index 0066e96d0dfc1a..09b347223418f3 100644
--- a/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.source.md
+++ b/docs/development/plugins/data/public/kibana-plugin-plugins-data-public.searchsourcefields.source.md
@@ -7,5 +7,5 @@
Signature:
```typescript
-source?: NameList;
+source?: boolean | estypes.Fields;
```
diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.asyncsearchstatusresponse._shards.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.asyncsearchstatusresponse._shards.md
index 5cb7e7135aecfe..3235bb08cfbf72 100644
--- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.asyncsearchstatusresponse._shards.md
+++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.asyncsearchstatusresponse._shards.md
@@ -7,5 +7,5 @@
Signature:
```typescript
-_shards: ShardsResponse;
+_shards: estypes.ShardStatistics;
```
diff --git a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.asyncsearchstatusresponse.md b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.asyncsearchstatusresponse.md
index 5d7ea579392693..2d1d6fbce4e277 100644
--- a/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.asyncsearchstatusresponse.md
+++ b/docs/development/plugins/data/server/kibana-plugin-plugins-data-server.asyncsearchstatusresponse.md
@@ -14,6 +14,6 @@ export interface AsyncSearchStatusResponse extends OmitShardsResponse | |
+| [\_shards](./kibana-plugin-plugins-data-server.asyncsearchstatusresponse._shards.md) | estypes.ShardStatistics
| |
| [completion\_status](./kibana-plugin-plugins-data-server.asyncsearchstatusresponse.completion_status.md) | number
| |
diff --git a/src/plugins/data/common/search/search_source/types.ts b/src/plugins/data/common/search/search_source/types.ts
index 40e92f45af1436..f9dbd83295b14f 100644
--- a/src/plugins/data/common/search/search_source/types.ts
+++ b/src/plugins/data/common/search/search_source/types.ts
@@ -6,7 +6,6 @@
* Side Public License, v 1.
*/
import type { estypes } from '@elastic/elasticsearch';
-import { NameList } from 'elasticsearch';
import { IAggConfigs } from 'src/plugins/data/public';
import { Query } from '../..';
import { Filter } from '../../es_query';
@@ -90,7 +89,7 @@ export interface SearchSourceFields {
aggs?: object | IAggConfigs | (() => object);
from?: number;
size?: number;
- source?: NameList;
+ source?: boolean | estypes.Fields;
version?: boolean;
/**
* Retrieve fields via the search Fields API
@@ -101,7 +100,7 @@ export interface SearchSourceFields {
*
* @deprecated It is recommended to use `fields` wherever possible.
*/
- fieldsFromSource?: NameList;
+ fieldsFromSource?: estypes.Fields;
/**
* {@link IndexPatternService}
*/
diff --git a/src/plugins/data/common/search/tabify/tabify_docs.test.ts b/src/plugins/data/common/search/tabify/tabify_docs.test.ts
index 52e12aeee1ae64..113086795b3e25 100644
--- a/src/plugins/data/common/search/tabify/tabify_docs.test.ts
+++ b/src/plugins/data/common/search/tabify/tabify_docs.test.ts
@@ -8,7 +8,7 @@
import { tabifyDocs } from './tabify_docs';
import { IndexPattern } from '../../index_patterns/index_patterns';
-import { SearchResponse } from 'elasticsearch';
+import type { estypes } from '@elastic/elasticsearch';
describe('tabifyDocs', () => {
const fieldFormats = {
@@ -33,6 +33,7 @@ describe('tabifyDocs', () => {
fieldFormats: fieldFormats as any,
});
+ // @ts-expect-error not full inteface
const response = {
hits: {
hits: [
@@ -46,7 +47,7 @@ describe('tabifyDocs', () => {
},
],
},
- } as SearchResponse;
+ } as estypes.SearchResponse;
it('converts fields by default', () => {
const table = tabifyDocs(response, index);
diff --git a/src/plugins/data/common/search/tabify/tabify_docs.ts b/src/plugins/data/common/search/tabify/tabify_docs.ts
index b4806283e63f2d..cfc1d21129df1f 100644
--- a/src/plugins/data/common/search/tabify/tabify_docs.ts
+++ b/src/plugins/data/common/search/tabify/tabify_docs.ts
@@ -6,7 +6,7 @@
* Side Public License, v 1.
*/
-import { SearchResponse } from 'elasticsearch';
+import type { estypes } from '@elastic/elasticsearch';
import { isPlainObject } from 'lodash';
import { IndexPattern } from '../../index_patterns/index_patterns';
import { Datatable, DatatableColumn, DatatableColumnType } from '../../../../expressions/common';
@@ -18,7 +18,7 @@ export interface TabifyDocsOptions {
}
export function flattenHit(
- hit: SearchResponse['hits']['hits'][0],
+ hit: estypes.SearchHit,
indexPattern?: IndexPattern,
params?: TabifyDocsOptions
) {
@@ -58,7 +58,7 @@ export function flattenHit(
}
}
- flatten(hit.fields);
+ flatten(hit.fields || {});
if (params?.source !== false && hit._source) {
flatten(hit._source as Record);
}
@@ -72,7 +72,7 @@ export function flattenHit(
}
export const tabifyDocs = (
- esResponse: SearchResponse,
+ esResponse: estypes.SearchResponse,
index?: IndexPattern,
params: TabifyDocsOptions = {}
): Datatable => {
diff --git a/src/plugins/data/public/public.api.md b/src/plugins/data/public/public.api.md
index 781d073b34978a..40225bafa52959 100644
--- a/src/plugins/data/public/public.api.md
+++ b/src/plugins/data/public/public.api.md
@@ -71,7 +71,6 @@ import { MatchAllFilter as MatchAllFilter_2 } from '@kbn/es-query';
import { MaybePromise } from '@kbn/utility-types';
import { Moment } from 'moment';
import moment from 'moment';
-import { NameList } from 'elasticsearch';
import { ObjectType } from '@kbn/config-schema';
import { Observable } from 'rxjs';
import { PackageInfo } from '@kbn/config';
@@ -2478,7 +2477,7 @@ export interface SearchSourceFields {
// Warning: (ae-forgotten-export) The symbol "SearchFieldValue" needs to be exported by the entry point index.d.ts
fields?: SearchFieldValue[];
// @deprecated
- fieldsFromSource?: NameList;
+ fieldsFromSource?: estypes.Fields;
// (undocumented)
filter?: Filter[] | Filter | (() => Filter[] | Filter | undefined);
// (undocumented)
@@ -2506,7 +2505,7 @@ export interface SearchSourceFields {
// (undocumented)
sort?: EsQuerySortValue | EsQuerySortValue[];
// (undocumented)
- source?: NameList;
+ source?: boolean | estypes.Fields;
// (undocumented)
terminate_after?: number;
// (undocumented)
diff --git a/src/plugins/data/public/ui/shard_failure_modal/__mocks__/shard_failure_response.ts b/src/plugins/data/public/ui/shard_failure_modal/__mocks__/shard_failure_response.ts
index 968592ab963ee3..e4a31995e47b64 100644
--- a/src/plugins/data/public/ui/shard_failure_modal/__mocks__/shard_failure_response.ts
+++ b/src/plugins/data/public/ui/shard_failure_modal/__mocks__/shard_failure_response.ts
@@ -6,9 +6,9 @@
* Side Public License, v 1.
*/
-import { SearchResponse } from 'elasticsearch';
+import type { estypes } from '@elastic/elasticsearch';
-export const shardFailureResponse: SearchResponse = {
+export const shardFailureResponse: estypes.SearchResponse = {
_shards: {
total: 2,
successful: 1,
diff --git a/src/plugins/data/server/autocomplete/terms_agg.test.ts b/src/plugins/data/server/autocomplete/terms_agg.test.ts
index ae991e289a7159..820ec445a22ca9 100644
--- a/src/plugins/data/server/autocomplete/terms_agg.test.ts
+++ b/src/plugins/data/server/autocomplete/terms_agg.test.ts
@@ -12,7 +12,7 @@ import { ConfigSchema } from '../../config';
import type { DeeplyMockedKeys } from '@kbn/utility-types/jest';
import type { ApiResponse } from '@elastic/elasticsearch';
import { termsAggSuggestions } from './terms_agg';
-import { SearchResponse } from 'elasticsearch';
+import type { estypes } from '@elastic/elasticsearch';
import { duration } from 'moment';
let savedObjectsClientMock: jest.Mocked;
@@ -22,6 +22,8 @@ const configMock = ({
valueSuggestions: { timeout: duration(4513), terminateAfter: duration(98430) },
},
} as unknown) as ConfigSchema;
+
+// @ts-expect-error not full interface
const mockResponse = {
body: {
aggregations: {
@@ -30,7 +32,7 @@ const mockResponse = {
},
},
},
-} as ApiResponse>;
+} as ApiResponse>;
jest.mock('../index_patterns');
diff --git a/src/plugins/data/server/search/strategies/es_search/response_utils.test.ts b/src/plugins/data/server/search/strategies/es_search/response_utils.test.ts
index f15cce062cb5d5..bd9babd61a7c48 100644
--- a/src/plugins/data/server/search/strategies/es_search/response_utils.test.ts
+++ b/src/plugins/data/server/search/strategies/es_search/response_utils.test.ts
@@ -7,7 +7,7 @@
*/
import { getTotalLoaded, toKibanaSearchResponse, shimHitsTotal } from './response_utils';
-import { SearchResponse } from 'elasticsearch';
+import type { estypes } from '@elastic/elasticsearch';
describe('response utils', () => {
describe('getTotalLoaded', () => {
@@ -19,7 +19,7 @@ describe('response utils', () => {
skipped: 5,
total: 100,
},
- } as unknown) as SearchResponse);
+ } as unknown) as estypes.SearchResponse);
expect(result).toEqual({
total: 100,
@@ -37,7 +37,7 @@ describe('response utils', () => {
skipped: 5,
total: 100,
},
- } as unknown) as SearchResponse);
+ } as unknown) as estypes.SearchResponse);
expect(result).toEqual({
rawResponse: {
diff --git a/src/plugins/data/server/search/strategies/ese_search/ese_search_strategy.ts b/src/plugins/data/server/search/strategies/ese_search/ese_search_strategy.ts
index 271032a9e1e270..eb39417ac535f7 100644
--- a/src/plugins/data/server/search/strategies/ese_search/ese_search_strategy.ts
+++ b/src/plugins/data/server/search/strategies/ese_search/ese_search_strategy.ts
@@ -9,7 +9,7 @@
import type { Observable } from 'rxjs';
import type { IScopedClusterClient, Logger, SharedGlobalConfig } from 'kibana/server';
import { catchError, first, tap } from 'rxjs/operators';
-import { SearchResponse } from 'elasticsearch';
+import type { estypes } from '@elastic/elasticsearch';
import { from } from 'rxjs';
import type { ISearchStrategy, SearchStrategyDependencies } from '../../types';
import type {
@@ -121,7 +121,7 @@ export const enhancedEsSearchStrategyProvider = (
});
const esResponse = await shimAbortSignal(promise, options?.abortSignal);
- const response = esResponse.body as SearchResponse;
+ const response = esResponse.body as estypes.SearchResponse;
return {
rawResponse: shimHitsTotal(response, options),
...getTotalLoaded(response),
diff --git a/src/plugins/data/server/search/strategies/ese_search/types.ts b/src/plugins/data/server/search/strategies/ese_search/types.ts
index 069004b0287cda..7f21aa3616e4ef 100644
--- a/src/plugins/data/server/search/strategies/ese_search/types.ts
+++ b/src/plugins/data/server/search/strategies/ese_search/types.ts
@@ -7,7 +7,6 @@
*/
import type { estypes } from '@elastic/elasticsearch';
-import { ShardsResponse } from 'elasticsearch';
export interface AsyncSearchResponse {
id?: string;
@@ -19,5 +18,5 @@ export interface AsyncSearchResponse {
}
export interface AsyncSearchStatusResponse extends Omit {
completion_status: number;
- _shards: ShardsResponse;
+ _shards: estypes.ShardStatistics;
}
diff --git a/src/plugins/data/server/server.api.md b/src/plugins/data/server/server.api.md
index 7303557449956e..bb8bb2b12ab714 100644
--- a/src/plugins/data/server/server.api.md
+++ b/src/plugins/data/server/server.api.md
@@ -52,7 +52,6 @@ import { Logger as Logger_2 } from 'kibana/server';
import { LoggerFactory } from '@kbn/logging';
import { Moment } from 'moment';
import moment from 'moment';
-import { NameList } from 'elasticsearch';
import { Observable } from 'rxjs';
import { PackageInfo } from '@kbn/config';
import { PathConfigType } from '@kbn/utils';
@@ -73,7 +72,6 @@ import { SavedObjectsFindResponse } from 'kibana/server';
import { SavedObjectsUpdateResponse } from 'kibana/server';
import { Search } from '@elastic/elasticsearch/api/requestParams';
import { SerializedFieldFormat as SerializedFieldFormat_2 } from 'src/plugins/expressions/common';
-import { ShardsResponse } from 'elasticsearch';
import { SharedGlobalConfig as SharedGlobalConfig_2 } from 'kibana/server';
import { ToastInputFields } from 'src/core/public/notifications';
import { TransportRequestPromise } from '@elastic/elasticsearch/lib/Transport';
@@ -312,7 +310,7 @@ export interface AsyncSearchStatusResponse extends Omit, logger: L
return async ({ esClient }: CollectorFetchContext): Promise => {
try {
const config = await config$.pipe(first()).toPromise();
- const { body: esResponse } = await esClient.search>({
+ const { body: esResponse } = await esClient.search({
index: config.kibana.index,
body: {
size: 0,