[Serverless Search] Update Getting Ingest Data section (#171035)

## Summary

PR updates Getting Started Ingest data row to match
[design](https://www.figma.com/file/aRW3wtDRGgwOunC8vXIvdm/Milestone-0-UX?type=design&node-id=3893-443443&mode=design&t=PYPiODRJvKspgxQc-0)
.

## Screen shot 
<img width="1402" alt="Getting ingest data row"
src="1b932469-f151-4e71-844b-da6b9b667e2a">

## Screen Recording


2c9454ee-b23f-4a7e-9d16-cfcd3697e1a1



### Checklist
- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)

---------

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
This commit is contained in:
Saarika Bhasi 2023-11-22 12:06:58 -05:00 committed by GitHub
parent 938069dd5d
commit a8f203931f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 260 additions and 320 deletions

View file

@ -6,25 +6,22 @@
* Side Public License, v 1.
*/
import React, { useState } from 'react';
import React from 'react';
import { EuiCheckableCard, EuiFormFieldset, EuiSpacer, EuiText, EuiTitle } from '@elastic/eui';
import { EuiSpacer, EuiTitle } from '@elastic/eui';
import { i18n } from '@kbn/i18n';
import type { ApplicationStart } from '@kbn/core-application-browser';
import type { SharePluginStart } from '@kbn/share-plugin/public';
import { CodeBox } from './code_box';
import { LanguageDefinition } from '../types';
import { OverviewPanel } from './overview_panel';
import { IntegrationsPanel } from './integrations_panel';
import { IngestionsPanel } from './ingestions_panel';
interface IngestDataProps {
codeSnippet: string;
selectedLanguage: LanguageDefinition;
setSelectedLanguage: (language: LanguageDefinition) => void;
docLinks: {
beats: string;
connectors: string;
integrations: string;
logstash: string;
};
assetBasePath: string;
@ -32,6 +29,7 @@ interface IngestDataProps {
sharePlugin: SharePluginStart;
languages: LanguageDefinition[];
consoleRequest?: string;
additionalIngestionPanel?: React.ReactNode;
}
export const IngestData: React.FC<IngestDataProps> = ({
@ -44,115 +42,45 @@ export const IngestData: React.FC<IngestDataProps> = ({
sharePlugin,
languages,
consoleRequest,
additionalIngestionPanel,
}) => {
const [selectedIngestMethod, setSelectedIngestMethod] = useState<
'ingestViaApi' | 'ingestViaIntegration'
>('ingestViaApi');
return (
<OverviewPanel
description={i18n.translate('searchApiPanels.welcomeBanner.ingestData.description', {
defaultMessage:
'Add data to your data stream or index to make it searchable. Choose an ingestion method that fits your application and workflow.',
defaultMessage: 'Add data to your data stream or index to make it searchable via API. ',
})}
leftPanelContent={
selectedIngestMethod === 'ingestViaApi' ? (
<CodeBox
consoleRequest={consoleRequest}
codeSnippet={codeSnippet}
languages={languages}
selectedLanguage={selectedLanguage}
setSelectedLanguage={setSelectedLanguage}
assetBasePath={assetBasePath}
application={application}
sharePlugin={sharePlugin}
/>
) : (
<IntegrationsPanel docLinks={docLinks} assetBasePath={assetBasePath} />
)
<CodeBox
consoleRequest={consoleRequest}
codeSnippet={codeSnippet}
languages={languages}
selectedLanguage={selectedLanguage}
setSelectedLanguage={setSelectedLanguage}
assetBasePath={assetBasePath}
application={application}
sharePlugin={sharePlugin}
/>
}
links={[
...(selectedLanguage.apiReference
? [
{
href: selectedLanguage.apiReference,
label: i18n.translate('searchApiPanels.welcomeBanner.ingestData.clientDocLink', {
defaultMessage: '{languageName} API reference',
values: { languageName: selectedLanguage.name },
}),
},
]
: []),
{
href: docLinks.integrations,
label: i18n.translate('searchApiPanels.welcomeBanner.ingestData.integrationsLink', {
defaultMessage: 'About Integrations',
}),
},
]}
links={[]}
title={i18n.translate('searchApiPanels.welcomeBanner.ingestData.title', {
defaultMessage: 'Ingest data',
})}
>
<EuiSpacer size="l" />
<EuiFormFieldset
legend={{
children: i18n.translate('searchApiPanels.welcomeBanner.ingestData.ingestLegendLabel', {
defaultMessage: 'Select an ingestion method',
}),
display: 'hidden',
}}
>
<EuiCheckableCard
hasShadow
id="ingestViaApi"
label={
<EuiTitle size="xs">
<h3>
{i18n.translate('searchApiPanels.welcomeBanner.ingestData.ingestApiLabel', {
defaultMessage: 'Ingest via API',
})}
</h3>
</EuiTitle>
}
value="ingestViaApi"
checked={selectedIngestMethod === 'ingestViaApi'}
onChange={() => setSelectedIngestMethod('ingestViaApi')}
>
<EuiText>
{i18n.translate('searchApiPanels.welcomeBanner.ingestData.ingestApiDescription', {
defaultMessage:
'The most flexible way to index data, enabling full control over your customization and optimization options.',
})}
</EuiText>
</EuiCheckableCard>
<EuiSpacer />
<EuiCheckableCard
hasShadow
id="ingestViaIntegration"
label={
<EuiTitle size="xs">
<h3>
{i18n.translate('searchApiPanels.welcomeBanner.ingestData.ingestIntegrationLabel', {
defaultMessage: 'Ingest via integration',
})}
</h3>
</EuiTitle>
}
value="ingestViaIntegration"
checked={selectedIngestMethod === 'ingestViaIntegration'}
onChange={() => setSelectedIngestMethod('ingestViaIntegration')}
>
<EuiText>
{i18n.translate(
'searchApiPanels.welcomeBanner.ingestData.ingestIntegrationDescription',
{
defaultMessage:
'Specialized ingestion tools optimized for transforming data and shipping it to Elasticsearch.',
}
)}
</EuiText>
</EuiCheckableCard>
</EuiFormFieldset>
<EuiTitle size="xs">
<h4>
{i18n.translate('searchApiPanels.welcomeBanner.ingestData.alternativeOptions', {
defaultMessage: 'Alternative ingestion options',
})}
</h4>
</EuiTitle>
<EuiSpacer size="m" />
<IngestionsPanel
assetBasePath={assetBasePath}
docLinks={docLinks}
additionalIngestionPanel={additionalIngestionPanel}
/>
</OverviewPanel>
);
};

View file

@ -0,0 +1,131 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
import React from 'react';
import { EuiFlexGroup, EuiFlexItem, EuiTitle, EuiSpacer, EuiText, EuiLink } from '@elastic/eui';
import { i18n } from '@kbn/i18n';
import { GithubLink } from './github_link';
interface IngestionPanelProps {
additionalIngestionPanel?: React.ReactNode;
docLinks: { beats: string; logstash: string };
assetBasePath: string;
}
export const IngestionsPanel: React.FC<IngestionPanelProps> = ({
additionalIngestionPanel,
docLinks,
assetBasePath,
}) => {
const panels = [
{
description: i18n.translate(
'searchApiPanels.welcomeBanner.ingestData.alternativeOptions.logstashDescription',
{
defaultMessage:
'General-purpose data processing pipeline for Elasticsearch. Use Logstash to extract and transform data from a variety of inputs and outputs.',
}
),
title: i18n.translate(
'searchApiPanels.welcomeBanner.ingestData.alternativeOptions.logstashTitle',
{
defaultMessage: 'Logstash',
}
),
links: [
{
href: docLinks.logstash,
label: i18n.translate(
'searchApiPanels.welcomeBanner.ingestData.alternativeOptions.logstashDocumentationLabel',
{
defaultMessage: 'Documentation',
}
),
},
{
href: 'https://github.com/elastic/logstash',
isGithubLink: true,
label: 'logstash',
},
],
},
{
description: i18n.translate(
'searchApiPanels.welcomeBanner.ingestData.alternativeOptions.beatsDescription',
{
defaultMessage:
'Lightweight, single-purpose data shippers for Elasticsearch. Use Beats to send operational data from your servers.',
}
),
title: i18n.translate(
'searchApiPanels.welcomeBanner.ingestData.alternativeOptions.beatsTitle',
{
defaultMessage: 'Beats',
}
),
links: [
{
href: docLinks.beats,
label: i18n.translate(
'searchApiPanels.welcomeBanner.ingestData.alternativeOptions.beatsDocumentationLabel',
{
defaultMessage: 'Documentation',
}
),
},
{
href: 'https://github.com/elastic/beats',
isGithubLink: true,
label: 'beats',
},
],
},
];
return (
<>
{additionalIngestionPanel}
{panels.map(({ title, description, links }, panelIndex) => (
<EuiFlexGroup
direction="column"
justifyContent="spaceEvenly"
gutterSize="s"
key={panelIndex}
>
<EuiFlexItem grow={false}>
<EuiTitle size="xxs">
<h6>{title}</h6>
</EuiTitle>
<EuiSpacer size="xs" />
<EuiText>
<p>{description}</p>
</EuiText>
</EuiFlexItem>
{links && links.length > 0 && (
<>
<EuiFlexGroup direction="row" justifyContent="flexStart" alignItems="center">
{links.map(({ label, href, isGithubLink }, linksIndex) => (
<EuiFlexItem grow={false} key={linksIndex}>
{isGithubLink ? (
<GithubLink assetBasePath={assetBasePath} label={label} href={href} />
) : (
<EuiLink href={href} target="_blank">
{label}
</EuiLink>
)}
</EuiFlexItem>
))}
</EuiFlexGroup>
<EuiSpacer size="m" />
</>
)}
</EuiFlexGroup>
))}
</>
);
};

View file

@ -1,168 +0,0 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
import React from 'react';
import {
EuiThemeProvider,
EuiPanel,
EuiFlexGroup,
EuiFlexItem,
EuiIcon,
EuiTitle,
EuiSpacer,
EuiText,
EuiLink,
} from '@elastic/eui';
import { i18n } from '@kbn/i18n';
import { LEARN_MORE_LABEL } from '../constants';
import { GithubLink } from './github_link';
export interface IntegrationsPanelProps {
docLinks: { beats: string; connectors: string; logstash: string };
assetBasePath: string;
}
export const IntegrationsPanel: React.FC<IntegrationsPanelProps> = ({
docLinks,
assetBasePath,
}) => {
return (
<EuiThemeProvider colorMode="dark">
<EuiPanel paddingSize="xl">
<EuiFlexGroup alignItems="flexStart" justifyContent="flexStart">
<EuiFlexItem grow={false}>
<EuiIcon type="logoLogstash" size="xxl" />
</EuiFlexItem>
<EuiFlexItem>
<EuiTitle size="s">
<h3>
{i18n.translate('searchApiPanels.welcomeBanner.ingestData.logstashTitle', {
defaultMessage: 'Logstash',
})}
</h3>
</EuiTitle>
<EuiSpacer size="s" />
<EuiText size="s">
<p>
{i18n.translate('searchApiPanels.welcomeBanner.ingestData.logstashDescription', {
defaultMessage:
'Add data to your data stream or index to make it searchable. Choose an ingestion method that fits your application and workflow.',
})}
</p>
</EuiText>
<EuiSpacer size="m" />
<EuiFlexGroup justifyContent="flexStart" gutterSize="l">
<EuiFlexItem grow={false}>
<EuiText size="s">
<EuiLink href={docLinks.logstash} target="_blank">
{LEARN_MORE_LABEL}
</EuiLink>
</EuiText>
</EuiFlexItem>
<EuiFlexItem grow={false}>
<GithubLink
href="https://github.com/elastic/logstash"
label={i18n.translate('searchApiPanels.welcomeBanner.ingestData.logstashLink', {
defaultMessage: 'Logstash',
})}
assetBasePath={assetBasePath}
/>
</EuiFlexItem>
</EuiFlexGroup>
</EuiFlexItem>
</EuiFlexGroup>
<EuiSpacer size="xl" />
<EuiFlexGroup alignItems="flexStart" justifyContent="flexStart">
<EuiFlexItem grow={false}>
<EuiIcon type="logoBeats" size="xxl" />
</EuiFlexItem>
<EuiFlexItem>
<EuiTitle size="s">
<h3>
{i18n.translate('searchApiPanels.welcomeBanner.ingestData.beatsTitle', {
defaultMessage: 'Beats',
})}
</h3>
</EuiTitle>
<EuiSpacer size="s" />
<EuiText size="s">
{i18n.translate('searchApiPanels.welcomeBanner.ingestData.beatsDescription', {
defaultMessage:
'Lightweight, single-purpose data shippers for Elasticsearch. Use Beats to send operational data from your servers.',
})}
</EuiText>
<EuiSpacer size="m" />
<EuiFlexGroup justifyContent="flexStart" gutterSize="l">
<EuiFlexItem grow={false}>
<EuiText size="s">
<EuiLink href={docLinks.beats} target="_blank">
{LEARN_MORE_LABEL}
</EuiLink>
</EuiText>
</EuiFlexItem>
<EuiFlexItem grow={false}>
<GithubLink
href="https://github.com/elastic/beats"
label={i18n.translate('searchApiPanels.welcomeBanner.ingestData.beatsLink', {
defaultMessage: 'Beats',
})}
assetBasePath={assetBasePath}
/>
</EuiFlexItem>
</EuiFlexGroup>
</EuiFlexItem>
</EuiFlexGroup>
<EuiSpacer size="xl" />
<EuiFlexGroup alignItems="flexStart" justifyContent="flexStart">
<EuiFlexItem grow={false}>
<EuiIcon type="logoEnterpriseSearch" size="xxl" />
</EuiFlexItem>
<EuiFlexItem>
<EuiTitle size="s">
<h3>
{i18n.translate('searchApiPanels.welcomeBanner.ingestData.connectorsTitle', {
defaultMessage: 'Connector clients',
})}
</h3>
</EuiTitle>
<EuiSpacer size="s" />
<EuiText size="s">
{i18n.translate('searchApiPanels.welcomeBanner.ingestData.connectorsDescription', {
defaultMessage:
'Specialized integrations for syncing data from third-party sources to Elasticsearch. Use Elastic connectors to sync content from a range of databases and object stores.',
})}
</EuiText>
<EuiSpacer size="m" />
<EuiFlexGroup justifyContent="flexStart" gutterSize="l">
<EuiFlexItem grow={false}>
<EuiText size="s">
<EuiLink href={docLinks.connectors} target="_blank">
{LEARN_MORE_LABEL}
</EuiLink>
</EuiText>
</EuiFlexItem>
<EuiFlexItem grow={false}>
<GithubLink
href="https://github.com/elastic/connectors-python"
label={i18n.translate(
'searchApiPanels.welcomeBanner.ingestData.connectorsPythonLink',
{
defaultMessage: 'elastic/connectors',
}
)}
assetBasePath={assetBasePath}
/>
</EuiFlexItem>
</EuiFlexGroup>
</EuiFlexItem>
</EuiFlexGroup>
</EuiPanel>
</EuiThemeProvider>
);
};

View file

@ -14,7 +14,7 @@ import { AuthenticatedUser } from '@kbn/security-plugin/common';
export * from './components/code_box';
export * from './components/github_link';
export * from './components/ingest_data';
export * from './components/integrations_panel';
export * from './components/ingestions_panel';
export * from './components/language_client_panel';
export * from './components/overview_panel';
export * from './components/select_client';

View file

@ -0,0 +1,95 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0; you may not use this file except in compliance with the Elastic License
* 2.0.
*/
import {
EuiFlexGroup,
EuiFlexItem,
EuiTitle,
EuiSpacer,
EuiText,
EuiLink,
EuiIcon,
} from '@elastic/eui';
import { i18n } from '@kbn/i18n';
import { GithubLink } from '@kbn/search-api-panels';
import React from 'react';
import { useCreateConnector } from '../hooks/api/use_create_connector';
export const ConnectorIngestionPanel: React.FC<{ assetBasePath: string }> = ({ assetBasePath }) => {
const { createConnector } = useCreateConnector();
return (
<EuiFlexGroup direction="column" justifyContent="spaceEvenly" gutterSize="s">
<EuiFlexItem grow={false}>
<EuiTitle size="xxs">
<h6>
{i18n.translate(
'xpack.serverlessSearch.ingestData.alternativeOptions.connectorsTitle',
{
defaultMessage: 'Connectors',
}
)}
</h6>
</EuiTitle>
<EuiSpacer size="xs" />
<EuiText>
<p>
{i18n.translate(
'xpack.serverlessSearch.ingestData.alternativeOptions.connectorsDescription',
{
defaultMessage:
'Sync third-party data sources to Elasticsearch, by deploying open code Elastic connectors on your own infrastructure. ',
}
)}
</p>
</EuiText>
</EuiFlexItem>
<EuiFlexGroup direction="row" justifyContent="flexStart" alignItems="center">
<EuiFlexItem grow={false}>
<EuiLink onClick={() => createConnector()}>
{i18n.translate(
'xpack.serverlessSearch.ingestData.alternativeOptions.setupConnectorLabel',
{
defaultMessage: 'Set up a connector',
}
)}
</EuiLink>
</EuiFlexItem>
<EuiFlexItem grow={false}>
<GithubLink
href="https://github.com/elastic/connectors"
label="connectors"
assetBasePath={assetBasePath}
/>
</EuiFlexItem>
<EuiFlexItem grow={false}>
<EuiFlexGroup alignItems="center" gutterSize="xs">
<EuiFlexItem grow={false}>
<EuiIcon size="s" type="logoDocker" />
</EuiFlexItem>
<EuiFlexItem grow={false}>
<EuiText size="s">
<EuiLink
target="_blank"
href="https://github.com/elastic/connectors-python/blob/main/docs/DOCKER.md"
>
{i18n.translate(
'xpack.serverlessSearch.ingestData.alternativeOptions.connectorDockerLabel',
{
defaultMessage: 'Docker',
}
)}
</EuiLink>
</EuiText>
</EuiFlexItem>
</EuiFlexGroup>
</EuiFlexItem>
</EuiFlexGroup>
<EuiSpacer size="m" />
</EuiFlexGroup>
);
};

View file

@ -52,6 +52,7 @@ import { LanguageGrid } from './languages/language_grid';
import './overview.scss';
import { ApiKeyPanel } from './api_key/api_key';
import { ConnectorsCallout } from './connectors_callout';
import { ConnectorIngestionPanel } from './connectors_ingestion';
export const ElasticsearchOverview = () => {
const [selectedLanguage, setSelectedLanguage] = useState<LanguageDefinition>(javaDefinition);
@ -302,6 +303,7 @@ export const ElasticsearchOverview = () => {
docLinks={docLinks}
application={application}
sharePlugin={share}
additionalIngestionPanel={<ConnectorIngestionPanel assetBasePath={assetBasePath} />}
/>
</EuiPageTemplate.Section>
<EuiPageTemplate.Section

View file

@ -5308,7 +5308,6 @@
"savedSearch.kibana_context.savedSearchId.help": "Spécifier l'ID de recherche enregistrée à utiliser pour les requêtes et les filtres",
"savedSearch.kibana_context.timeRange.help": "Spécifier le filtre de plage temporelle Kibana",
"searchApiPanels.welcomeBanner.header.greeting.customTitle": "Bonjour {name} !",
"searchApiPanels.welcomeBanner.ingestData.clientDocLink": "Référence dAPI {languageName}",
"searchApiPanels.welcomeBanner.installClient.clientDocLink": "Documentation du client {languageName}",
"searchApiPanels.welcomeBanner.selectClient.description": "Elastic construit et assure la maintenance des clients dans plusieurs langues populaires et notre communauté a contribué à beaucoup d'autres. Sélectionnez votre client linguistique favori or explorez la {console} pour commencer.",
"searchApiPanels.welcomeBanner.codeBox.copyButtonLabel": "Copier",
@ -5316,22 +5315,7 @@
"searchApiPanels.welcomeBanner.header.description": "Configurez votre client de langage de programmation, ingérez des données, et vous serez prêt à commencer vos recherches en quelques minutes.",
"searchApiPanels.welcomeBanner.header.greeting.defaultTitle": "Bonjour !",
"searchApiPanels.welcomeBanner.header.title": "Lancez-vous avec Elasticsearch",
"searchApiPanels.welcomeBanner.ingestData.beatsDescription": "Des agents légers conçus pour le transfert de données pour Elasticsearch. Utilisez Beats pour envoyer des données opérationnelles depuis vos serveurs.",
"searchApiPanels.welcomeBanner.ingestData.beatsLink": "Beats",
"searchApiPanels.welcomeBanner.ingestData.beatsTitle": "Beats",
"searchApiPanels.welcomeBanner.ingestData.connectorsDescription": "Des intégrations spécialisées pour synchroniser des données de sources tierces avec Elasticsearch. Utilisez des connecteurs Elastic pour synchroniser du contenu dune plage de bases de données et de stockage dobjets.",
"searchApiPanels.welcomeBanner.ingestData.connectorsPythonLink": "connecteurs-python",
"searchApiPanels.welcomeBanner.ingestData.connectorsTitle": "Client de connecteur",
"searchApiPanels.welcomeBanner.ingestData.description": "Ajoutez des données à votre flux de données ou à votre index pour les rendre interrogeables. Choisissez une méthode dingestion qui correspond à votre application et à votre workflow.",
"searchApiPanels.welcomeBanner.ingestData.ingestApiDescription": "La façon la plus flexible dindexer des données, ce qui vous donne un contrôle total sur vos options de personnalisation et doptimisation.",
"searchApiPanels.welcomeBanner.ingestData.ingestApiLabel": "Ingérer via une API",
"searchApiPanels.welcomeBanner.ingestData.ingestIntegrationDescription": "Des outils dingestion spécialisés optimisés pour transformer des données et les transférer à Elasticsearch.",
"searchApiPanels.welcomeBanner.ingestData.ingestIntegrationLabel": "Ingérer via lintégration",
"searchApiPanels.welcomeBanner.ingestData.ingestLegendLabel": "Sélectionner une méthode d'ingestion",
"searchApiPanels.welcomeBanner.ingestData.integrationsLink": "À propos des intégrations",
"searchApiPanels.welcomeBanner.ingestData.logstashDescription": "Ajoutez des données à votre flux de données ou à votre index pour les rendre interrogeables. Choisissez une méthode dingestion qui correspond à votre application et à votre workflow.",
"searchApiPanels.welcomeBanner.ingestData.logstashLink": "Logstash",
"searchApiPanels.welcomeBanner.ingestData.logstashTitle": "Logstash",
"searchApiPanels.welcomeBanner.ingestData.title": "Ingérer des données",
"searchApiPanels.welcomeBanner.installClient.description": "Elastic construit et assure la maintenance des clients dans plusieurs langues populaires et notre communauté a contribué à beaucoup d'autres. Installez votre client de langage favori pour commencer.",
"searchApiPanels.welcomeBanner.installClient.title": "Installer un client",

View file

@ -5323,7 +5323,6 @@
"savedSearch.kibana_context.savedSearchId.help": "クエリとフィルターに使用する保存検索ID を指定します。",
"savedSearch.kibana_context.timeRange.help": "Kibana 時間範囲フィルターを指定します",
"searchApiPanels.welcomeBanner.header.greeting.customTitle": "{name}様",
"searchApiPanels.welcomeBanner.ingestData.clientDocLink": "{languageName}APIリファレンス",
"searchApiPanels.welcomeBanner.installClient.clientDocLink": "{languageName}クライアントドキュメント",
"searchApiPanels.welcomeBanner.selectClient.description": "Elasticは複数の一般的な言語でクライアントを構築および保守します。Elasticのコミュニティはさらに多くを提供しています。お気に入りの言語クライアントを選択するか、{console}を起動して開始します。",
"searchApiPanels.welcomeBanner.codeBox.copyButtonLabel": "コピー",
@ -5331,22 +5330,7 @@
"searchApiPanels.welcomeBanner.header.description": "プログラミング言語のクライアントを設定し、データを取り込めば、数分で検索を開始できます。",
"searchApiPanels.welcomeBanner.header.greeting.defaultTitle": "こんにちは。",
"searchApiPanels.welcomeBanner.header.title": "Elasticsearchをはじめよう",
"searchApiPanels.welcomeBanner.ingestData.beatsDescription": "Elasticsearch向けの軽量の、専用データ転送機能。Beatsを使用して、サーバーから運用データを送信します。",
"searchApiPanels.welcomeBanner.ingestData.beatsLink": "ビート",
"searchApiPanels.welcomeBanner.ingestData.beatsTitle": "ビート",
"searchApiPanels.welcomeBanner.ingestData.connectorsDescription": "サードパーティのソースからElasticsearchにデータを同期するための特別な統合。Elasticコネクターを使って、さまざまなデータベースやオブジェクトストアからコンテンツを同期できます。",
"searchApiPanels.welcomeBanner.ingestData.connectorsPythonLink": "connectors-python",
"searchApiPanels.welcomeBanner.ingestData.connectorsTitle": "コネクタークライアント",
"searchApiPanels.welcomeBanner.ingestData.description": "データストリームやインデックスにデータを追加して、データを検索可能にします。アプリケーションとワークフローに合ったインジェスト方法を選択します。",
"searchApiPanels.welcomeBanner.ingestData.ingestApiDescription": "データをインデックス化する最も柔軟な方法で、カスタマイズや最適化オプションを完全に制御できます。",
"searchApiPanels.welcomeBanner.ingestData.ingestApiLabel": "API経由でインジェスト",
"searchApiPanels.welcomeBanner.ingestData.ingestIntegrationDescription": "データを変換してElasticsearchに送信するために最適化された専用のインジェストツール。",
"searchApiPanels.welcomeBanner.ingestData.ingestIntegrationLabel": "統合経由でインジェスト",
"searchApiPanels.welcomeBanner.ingestData.ingestLegendLabel": "インジェスチョン方法を選択",
"searchApiPanels.welcomeBanner.ingestData.integrationsLink": "統合について",
"searchApiPanels.welcomeBanner.ingestData.logstashDescription": "データストリームやインデックスにデータを追加して、データを検索可能にします。アプリケーションとワークフローに合ったインジェスト方法を選択します。",
"searchApiPanels.welcomeBanner.ingestData.logstashLink": "Logstash",
"searchApiPanels.welcomeBanner.ingestData.logstashTitle": "Logstash",
"searchApiPanels.welcomeBanner.ingestData.title": "データをインジェスト",
"searchApiPanels.welcomeBanner.installClient.description": "Elasticは複数の一般的な言語でクライアントを構築および保守します。Elasticのコミュニティはさらに多くを提供しています。開始するには、お気に入りの言語クライアントをインストールします。",
"searchApiPanels.welcomeBanner.installClient.title": "クライアントをインスト-ル",

View file

@ -5322,7 +5322,6 @@
"savedSearch.kibana_context.savedSearchId.help": "指定要用于查询和筛选的已保存搜索 ID",
"savedSearch.kibana_context.timeRange.help": "指定 Kibana 时间范围筛选",
"searchApiPanels.welcomeBanner.header.greeting.customTitle": "{name}您好!",
"searchApiPanels.welcomeBanner.ingestData.clientDocLink": "{languageName} API 参考",
"searchApiPanels.welcomeBanner.installClient.clientDocLink": "{languageName} 客户端文档",
"searchApiPanels.welcomeBanner.selectClient.description": "Elastic 以几种流行语言构建和维护客户端,我们的社区也做出了许多贡献。选择您常用的语言客户端或深入分析 {console} 以开始使用。",
"searchApiPanels.welcomeBanner.codeBox.copyButtonLabel": "复制",
@ -5330,22 +5329,7 @@
"searchApiPanels.welcomeBanner.header.description": "设置您的编程语言客户端,采集一些数据,如此即可在数分钟内开始搜索。",
"searchApiPanels.welcomeBanner.header.greeting.defaultTitle": "您好!",
"searchApiPanels.welcomeBanner.header.title": "Elasticsearch 入门",
"searchApiPanels.welcomeBanner.ingestData.beatsDescription": "用于 Elasticsearch 的轻量级、单一用途数据采集器。使用 Beats 从您的服务器发送运营数据。",
"searchApiPanels.welcomeBanner.ingestData.beatsLink": "Beats",
"searchApiPanels.welcomeBanner.ingestData.beatsTitle": "Beats",
"searchApiPanels.welcomeBanner.ingestData.connectorsDescription": "用于将数据从第三方源同步到 Elasticsearch 的专用集成。使用 Elastic 连接器同步来自一系列数据库和对象存储的内容。",
"searchApiPanels.welcomeBanner.ingestData.connectorsPythonLink": "connectors-python",
"searchApiPanels.welcomeBanner.ingestData.connectorsTitle": "连接器客户端",
"searchApiPanels.welcomeBanner.ingestData.description": "将数据添加到数据流或索引,使其可进行搜索。选择适合您的应用程序和工作流的集成方法。",
"searchApiPanels.welcomeBanner.ingestData.ingestApiDescription": "最灵活的数据索引方法,允许您全面控制定制和优化选项。",
"searchApiPanels.welcomeBanner.ingestData.ingestApiLabel": "通过 API 采集",
"searchApiPanels.welcomeBanner.ingestData.ingestIntegrationDescription": "针对转换数据并将其传输到 Elasticsearch 而优化的专用采集工具。",
"searchApiPanels.welcomeBanner.ingestData.ingestIntegrationLabel": "通过集成采集",
"searchApiPanels.welcomeBanner.ingestData.ingestLegendLabel": "选择采集方法",
"searchApiPanels.welcomeBanner.ingestData.integrationsLink": "关于集成",
"searchApiPanels.welcomeBanner.ingestData.logstashDescription": "将数据添加到数据流或索引,使其可进行搜索。选择适合您的应用程序和工作流的集成方法。",
"searchApiPanels.welcomeBanner.ingestData.logstashLink": "Logstash",
"searchApiPanels.welcomeBanner.ingestData.logstashTitle": "Logstash",
"searchApiPanels.welcomeBanner.ingestData.title": "采集数据",
"searchApiPanels.welcomeBanner.installClient.description": "Elastic 以几种流行语言构建和维护客户端,我们的社区也做出了许多贡献。安装您常用的语言客户端以开始使用。",
"searchApiPanels.welcomeBanner.installClient.title": "安装客户端",