[Index Management] Add config flag for semantic text (#184127)

## Summary

This adds a config flag to semantic text so we can toggle it on/off
easily.
This commit is contained in:
Sander Philipse 2024-05-27 12:36:23 +02:00 committed by GitHub
parent afb3d37469
commit ba463ba62c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 17 additions and 10 deletions

View file

@ -293,6 +293,7 @@ export default function ({ getService }: PluginFunctionalProviderContext) {
'xpack.index_management.editableIndexSettings (any)',
'xpack.index_management.enableDataStreamsStorageColumn (any)',
'xpack.index_management.enableMappingsSourceFieldSection (any)',
'xpack.index_management.dev.enableSemanticText (boolean)',
'xpack.license_management.ui.enabled (boolean)',
'xpack.maps.preserveDrawingBuffer (boolean)',
'xpack.maps.showMapsInspectorAdapter (boolean)',

View file

@ -86,6 +86,7 @@ const appDependencies = {
enableDataStreamsStorageColumn: true,
enableMappingsSourceFieldSection: true,
enableTogglingDataRetention: true,
enableSemanticText: false,
},
} as any;

View file

@ -64,6 +64,7 @@ export interface AppDependencies {
enableDataStreamsStorageColumn: boolean;
enableMappingsSourceFieldSection: boolean;
enableTogglingDataRetention: boolean;
enableSemanticText: boolean;
};
history: ScopedHistory;
setBreadcrumbs: (type: IndexManagementBreadcrumb, additionalBreadcrumb?: EuiBreadcrumb) => void;

View file

@ -62,22 +62,15 @@ export const DetailsPageMappingsContent: FunctionComponent<{
showAboutMappings: boolean;
jsonData: any;
refetchMapping: () => void;
isSemanticTextEnabled?: boolean;
}> = ({
index,
data,
jsonData,
refetchMapping,
showAboutMappings,
isSemanticTextEnabled = false,
}) => {
}> = ({ index, data, jsonData, refetchMapping, showAboutMappings }) => {
const {
services: { extensionsService },
core: { getUrlForApp },
plugins: { ml },
url,
config,
} = useAppContext();
const { enableSemanticText: isSemanticTextEnabled } = config;
const [errorsInTrainedModelDeployment, setErrorsInTrainedModelDeployment] = useState<string[]>(
[]
);

View file

@ -46,6 +46,7 @@ export class IndexMgmtUIPlugin
isIndexManagementUiEnabled: boolean;
enableMappingsSourceFieldSection: boolean;
enableTogglingDataRetention: boolean;
enableSemanticText: boolean;
};
constructor(ctx: PluginInitializerContext) {
@ -62,6 +63,7 @@ export class IndexMgmtUIPlugin
enableDataStreamsStorageColumn,
enableMappingsSourceFieldSection,
enableTogglingDataRetention,
dev: { enableSemanticText },
} = ctx.config.get<ClientConfigType>();
this.config = {
isIndexManagementUiEnabled,
@ -72,6 +74,7 @@ export class IndexMgmtUIPlugin
enableDataStreamsStorageColumn: enableDataStreamsStorageColumn ?? true,
enableMappingsSourceFieldSection: enableMappingsSourceFieldSection ?? true,
enableTogglingDataRetention: enableTogglingDataRetention ?? true,
enableSemanticText: enableSemanticText ?? false,
};
}

View file

@ -54,4 +54,7 @@ export interface ClientConfigType {
enableDataStreamsStorageColumn?: boolean;
enableMappingsSourceFieldSection?: boolean;
enableTogglingDataRetention?: boolean;
dev: {
enableSemanticText?: boolean;
};
}

View file

@ -35,6 +35,8 @@ const schemaLatest = schema.object(
dev: schema.object({
// deprecated as unused after index details page has been implemented
enableIndexDetailsPage: schema.boolean({ defaultValue: false }),
// deprecate as unused after semantic text is enabled everywhere
enableSemanticText: schema.boolean({ defaultValue: false }),
}),
enableIndexStats: offeringBasedSchema({
// Index stats information is disabled in serverless; refer to the serverless.yml file as the source of truth
@ -69,6 +71,9 @@ const schemaLatest = schema.object(
const configLatest: PluginConfigDescriptor<IndexManagementConfig> = {
exposeToBrowser: {
ui: true,
dev: {
enableSemanticText: true,
},
enableIndexActions: true,
enableLegacyTemplates: true,
enableIndexStats: true,