From f97eda3747f370cf7443ff7b2bf78af02e0680fc Mon Sep 17 00:00:00 2001 From: Drew Tate Date: Fri, 31 May 2024 17:16:22 -0600 Subject: [PATCH 01/15] docs generator script --- .../scripts/generate_esql_docs.ts | 79 +++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 packages/kbn-text-based-editor/scripts/generate_esql_docs.ts diff --git a/packages/kbn-text-based-editor/scripts/generate_esql_docs.ts b/packages/kbn-text-based-editor/scripts/generate_esql_docs.ts new file mode 100644 index 0000000000000..cd85c4d9e85b3 --- /dev/null +++ b/packages/kbn-text-based-editor/scripts/generate_esql_docs.ts @@ -0,0 +1,79 @@ +/* + * 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 * as recast from 'recast'; +import fs from 'fs'; +import path from 'path'; + +function main() { + const functionDocs = loadFunctionDocs(); + writeFunctionDocs(functionDocs); +} + +function loadFunctionDocs() { + // read the markdown files from /Users/andrewtate/workspace/elastic/kibana/blue/elasticsearch/docs/reference/esql/functions/kibana/docs + // create a map of function name to markdown content where the function name is the name of the markdown file + + // Define the directory path + const dirPath = + '/Users/andrewtate/workspace/elastic/kibana/blue/elasticsearch/docs/reference/esql/functions/kibana/docs'; + + // Read the directory + const files = fs.readdirSync(dirPath); + + // Initialize an empty map + const functionMap = new Map(); + + // Iterate over each file in the directory + for (const file of files) { + // Ensure we only process .md files + if (path.extname(file) === '.md') { + // Read the file content + const content = fs.readFileSync(path.join(dirPath, file), 'utf-8'); + + // Get the function name from the file name by removing the .md extension + const functionName = path.basename(file, '.md'); + + // Add the function name and content to the map + functionMap.set(functionName, content); + } + } + + return functionMap; +} + +function writeFunctionDocs(functionDocs: Map) { + const codeStrings = Array.from(functionDocs.entries()).map( + ([name, doc]) => ` + { + label: i18n.translate( + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', + { + defaultMessage: '${name}', + } + ), + description: ( + + ), + },` + ); + + console.log(codeStrings[0]); +} + +main(); From 824e452cecaaaa5a3bd9b630bd41f9d52bdd2b6e Mon Sep 17 00:00:00 2001 From: Drew Tate Date: Mon, 3 Jun 2024 13:27:29 -0600 Subject: [PATCH 02/15] generate function documentation --- .../scripts/generate_esql_docs.ts | 73 +- .../src/esql_documentation_sections.tsx | 1979 ++++++++++------- 2 files changed, 1244 insertions(+), 808 deletions(-) diff --git a/packages/kbn-text-based-editor/scripts/generate_esql_docs.ts b/packages/kbn-text-based-editor/scripts/generate_esql_docs.ts index cd85c4d9e85b3..b6b8fda1216cf 100644 --- a/packages/kbn-text-based-editor/scripts/generate_esql_docs.ts +++ b/packages/kbn-text-based-editor/scripts/generate_esql_docs.ts @@ -7,13 +7,15 @@ */ import * as recast from 'recast'; +const n = recast.types.namedTypes; import fs from 'fs'; import path from 'path'; +import { functions } from '../src/esql_documentation_sections'; -function main() { +(function () { const functionDocs = loadFunctionDocs(); writeFunctionDocs(functionDocs); -} +})(); function loadFunctionDocs() { // read the markdown files from /Users/andrewtate/workspace/elastic/kibana/blue/elasticsearch/docs/reference/esql/functions/kibana/docs @@ -50,11 +52,11 @@ function loadFunctionDocs() { function writeFunctionDocs(functionDocs: Map) { const codeStrings = Array.from(functionDocs.entries()).map( ([name, doc]) => ` - { + const foo = { label: i18n.translate( 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { - defaultMessage: '${name}', + defaultMessage: '${name.toUpperCase()}', } ), description: ( @@ -70,10 +72,67 @@ function writeFunctionDocs(functionDocs: Map) { )} /> ), - },` + };` ); - console.log(codeStrings[0]); + const parseTypescript = (code: string) => + // recast.parse(code, { parser: require('recast/parsers/typescript') }); + recast.parse(code); + + const ast = parseTypescript( + fs.readFileSync(path.join(__dirname, '../src/esql_documentation_sections.tsx'), 'utf-8') + ); + + const functionsList = findFunctionsList(ast); + + functionsList.elements = codeStrings.map( + (codeString) => parseTypescript(codeString).program.body[0].declarations[0].init + ); + + const newFileContents = recast.print(ast); + + fs.writeFileSync( + path.join(__dirname, '../src/esql_documentation_sections.tsx'), + newFileContents.code + ); } -main(); +/** + * This function searches the AST for the describe block containing per-function tests + * @param ast + * @returns + */ +function findFunctionsList(ast: any): recast.types.namedTypes.ArrayExpression { + let foundArray: recast.types.namedTypes.ArrayExpression | null = null; + + const functionsArrayIdentifier = Object.keys({ functions })[0]; + + recast.visit(ast, { + visitVariableDeclarator(astPath) { + if ( + n.Identifier.check(astPath.node.id) && + astPath.node.id.name === functionsArrayIdentifier + ) { + this.traverse(astPath); + } + return false; + }, + visitProperty(astPath) { + if ( + n.Identifier.check(astPath.node.key) && + astPath.node.key.name === 'items' && + n.ArrayExpression.check(astPath.node.value) + ) { + foundArray = astPath.node.value; + this.abort(); + } + return false; + }, + }); + + if (!foundArray) { + throw new Error('Could not find the functions array in the AST'); + } + + return foundArray; +} diff --git a/packages/kbn-text-based-editor/src/esql_documentation_sections.tsx b/packages/kbn-text-based-editor/src/esql_documentation_sections.tsx index 84dfcde890d66..17fd7a83f02e8 100644 --- a/packages/kbn-text-based-editor/src/esql_documentation_sections.tsx +++ b/packages/kbn-text-based-editor/src/esql_documentation_sections.tsx @@ -714,6 +714,8 @@ Refer to **Operators** for an overview of the supported operators. ], }; +// DO NOT RENAME! +// managed by generate_esql_docs.ts export const functions = { label: i18n.translate('textBasedEditor.query.textBasedLanguagesEditor.functions', { defaultMessage: 'Functions', @@ -736,17 +738,20 @@ export const functions = { + +### ABS Returns the absolute value. \`\`\` -FROM employees -| KEEP first_name, last_name, height -| EVAL abs_height = ABS(0.0 - height) +ROW number = -1.0 +| EVAL abs_number = ABS(number) \`\`\` - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -756,7 +761,7 @@ FROM employees }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.acosFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'ACOS', } @@ -765,16 +770,20 @@ FROM employees + +### ACOS +Returns the arccosine of \`n\` as an angle, expressed in radians. \`\`\` ROW a=.9 | EVAL acos=ACOS(a) \`\`\` - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -784,7 +793,7 @@ ROW a=.9 }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.asinFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'ASIN', } @@ -793,16 +802,21 @@ ROW a=.9 + +### ASIN +Returns the arcsine of the input +numeric expression as an angle, expressed in radians. \`\`\` ROW a=.9 | EVAL asin=ASIN(a) \`\`\` - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -812,7 +826,7 @@ ROW a=.9 }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.atanFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'ATAN', } @@ -821,16 +835,21 @@ ROW a=.9 + +### ATAN +Returns the arctangent of the input +numeric expression as an angle, expressed in radians. \`\`\` ROW a=12.9 | EVAL atan=ATAN(a) \`\`\` - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -840,7 +859,7 @@ ROW a=12.9 }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.atan2Function', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'ATAN2', } @@ -849,16 +868,56 @@ ROW a=12.9 + +### ATAN2 +The angle between the positive x-axis and the ray from the +origin to the point (x , y) in the Cartesian plane, expressed in radians. \`\`\` ROW y=12.9, x=.6 | EVAL atan2=ATAN2(y, x) \`\`\` - `, +`, + description: + 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', + } + )} + /> + ), + }, + { + label: i18n.translate( + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', + { + defaultMessage: 'BUCKET', + } + ), + description: ( + + +### BUCKET +Creates groups of values - buckets - out of a datetime or numeric input. +The size of the buckets can either be provided directly, or chosen based on a recommended count and values range. + +\`\`\` +FROM employees +| WHERE hire_date >= "1985-01-01T00:00:00Z" AND hire_date < "1986-01-01T00:00:00Z" +| STATS hire_date = MV_SORT(VALUES(hire_date)) BY month = BUCKET(hire_date, 20, "1985-01-01T00:00:00Z", "1986-01-01T00:00:00Z") +| SORT hire_date +\`\`\` +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -868,7 +927,7 @@ ROW y=12.9, x=.6 }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.caseFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'CASE', } @@ -877,10 +936,19 @@ ROW y=12.9, x=.6 + +### CASE +Accepts pairs of conditions and values. The function returns the value that +belongs to the first condition that evaluates to \`true\`. + +If the number of arguments is odd, the last argument is the default value which +is returned when no condition matches. If the number of arguments is even, and +no condition matches, the function returns \`null\`. \`\`\` FROM employees @@ -888,9 +956,42 @@ FROM employees languages <= 1, "monolingual", languages <= 2, "bilingual", "polyglot") -| KEEP first_name, last_name, type +| KEEP emp_no, languages, type \`\`\` - `, +`, + description: + 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', + } + )} + /> + ), + }, + { + label: i18n.translate( + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', + { + defaultMessage: 'CBRT', + } + ), + description: ( + + +### CBRT +Returns the cube root of a number. The input can be any numeric value, the return value is always a double. +Cube roots of infinities are null. + +\`\`\` +ROW d = 1000.0 +| EVAL c = cbrt(d) +\`\`\` +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -900,7 +1001,7 @@ FROM employees }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.ceilFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'CEIL', } @@ -909,18 +1010,21 @@ FROM employees + +### CEIL Round a number up to the nearest integer. \`\`\` ROW a=1.8 | EVAL a=CEIL(a) \`\`\` - -Note: This is a noop for \`long\` (including unsigned) and \`integer\`. For \`double\` this picks the closest \`double\` value to the integer similar to Java's \`Math.ceil\`. - `, +Note: This is a noop for \`long\` (including unsigned) and \`integer\`. For \`double\` this picks the closest \`double\` value to the integer similar to Math.ceil. +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -930,7 +1034,7 @@ Note: This is a noop for \`long\` (including unsigned) and \`integer\`. For \`do }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.cidrMatchFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'CIDR_MATCH', } @@ -939,18 +1043,21 @@ Note: This is a noop for \`long\` (including unsigned) and \`integer\`. For \`do -\`CIDR_MATCH\` accepts two or more arguments. The first argument is the IP address of type \`ip\` (both IPv4 and IPv6 are supported). Subsequent arguments are the CIDR blocks to test the IP against. +### CIDR_MATCH +Returns true if the provided IP is contained in one of the provided CIDR blocks. \`\`\` -FROM hosts -| WHERE CIDR_MATCH(ip, "127.0.0.2/32", "127.0.0.3/32") +FROM hosts +| WHERE CIDR_MATCH(ip1, "127.0.0.2/32", "127.0.0.3/32") +| KEEP card, host, ip0, ip1 \`\`\` - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -960,7 +1067,7 @@ FROM hosts }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.coalesceFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'COALESCE', } @@ -969,16 +1076,20 @@ FROM hosts + +### COALESCE +Returns the first of its arguments that is not null. If all arguments are null, it returns \`null\`. \`\`\` ROW a=null, b="b" | EVAL COALESCE(a, b) \`\`\` - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -988,7 +1099,7 @@ ROW a=null, b="b" }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.concatFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'CONCAT', } @@ -997,17 +1108,21 @@ ROW a=null, b="b" + +### CONCAT Concatenates two or more strings. \`\`\` FROM employees -| KEEP first_name, last_name, height +| KEEP first_name, last_name | EVAL fullname = CONCAT(first_name, " ", last_name) \`\`\` - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -1017,7 +1132,7 @@ FROM employees }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.cosFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'COS', } @@ -1026,16 +1141,20 @@ FROM employees + +### COS +Returns the cosine of an angle. \`\`\` -ROW a=1.8 +ROW a=1.8 | EVAL cos=COS(a) \`\`\` - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -1045,7 +1164,7 @@ ROW a=1.8 }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.coshFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'COSH', } @@ -1054,16 +1173,20 @@ ROW a=1.8 + +### COSH +Returns the hyperbolic cosine of an angle. \`\`\` -ROW a=1.8 +ROW a=1.8 | EVAL cosh=COSH(a) \`\`\` - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -1073,7 +1196,7 @@ ROW a=1.8 }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.dateDiffFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'DATE_DIFF', } @@ -1082,16 +1205,21 @@ ROW a=1.8 + +### DATE_DIFF +Subtracts the \`startTimestamp\` from the \`endTimestamp\` and returns the difference in multiples of \`unit\`. +If \`startTimestamp\` is later than the \`endTimestamp\`, negative values are returned. + \`\`\` ROW date1 = TO_DATETIME("2023-12-02T11:00:00.000Z"), date2 = TO_DATETIME("2023-12-02T11:00:00.001Z") | EVAL dd_ms = DATE_DIFF("microseconds", date1, date2) \`\`\` - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -1101,7 +1229,7 @@ ROW date1 = TO_DATETIME("2023-12-02T11:00:00.000Z"), date2 = TO_DATETIME("2023-1 }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.dateExtractFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'DATE_EXTRACT', } @@ -1110,23 +1238,20 @@ ROW date1 = TO_DATETIME("2023-12-02T11:00:00.000Z"), date2 = TO_DATETIME("2023-1 + +### DATE_EXTRACT +Extracts parts of a date, like year, month, day, hour. \`\`\` ROW date = DATE_PARSE("yyyy-MM-dd", "2022-05-06") | EVAL year = DATE_EXTRACT("year", date) \`\`\` - -For example, to find all events that occurred outside of business hours (before 9 AM or after 5 PM), on any given date: - -\`\`\` -FROM sample_data -| WHERE DATE_EXTRACT("hour_of_day", @timestamp) < 9 AND DATE_EXTRACT("hour_of_day", @timestamp) >= 17 -\`\`\` - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -1136,7 +1261,7 @@ FROM sample_data }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.dateFormatFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'DATE_FORMAT', } @@ -1145,17 +1270,21 @@ FROM sample_data + +### DATE_FORMAT +Returns a string representation of a date, in the provided format. \`\`\` FROM employees | KEEP first_name, last_name, hire_date | EVAL hired = DATE_FORMAT("YYYY-MM-dd", hire_date) \`\`\` - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -1165,7 +1294,7 @@ FROM employees }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.dateParseFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'DATE_PARSE', } @@ -1173,18 +1302,21 @@ FROM employees description: ( + +### DATE_PARSE +Returns a date by parsing the second argument using the format specified in the first argument. + \`\`\` ROW date_string = "2022-05-06" | EVAL date = DATE_PARSE("yyyy-MM-dd", date_string) \`\`\` - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -1194,7 +1326,7 @@ ROW date_string = "2022-05-06" }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.dateTruncFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'DATE_TRUNC', } @@ -1203,44 +1335,21 @@ ROW date_string = "2022-05-06" + +### DATE_TRUNC Rounds down a date to the closest interval. \`\`\` FROM employees +| KEEP first_name, last_name, hire_date | EVAL year_hired = DATE_TRUNC(1 year, hire_date) -| STATS count(emp_no) BY year_hired -| SORT year_hired -\`\`\` - -Intervals can be expressed using the timespan literal syntax. Timespan literals are a combination of a number and a qualifier. These qualifiers are supported: - -* \`millisecond\`/milliseconds -* \`second\`/\`seconds\` -* \`minute\`/\`minutes\` -* \`hour\`/\`hours\` -* \`day\`/\`days\` -* \`week\`/\`weeks\` -* \`month\`/\`months\` -* \`year\`/\`years\` - -Timespan literals are not whitespace sensitive. These expressions are all valid: - -* \`1day\` -* \`1 day\` -* \`1 day\` - -Combine \`DATE_TRUNC\` with \`STATS ... BY\` to create date histograms. For example, to return the number of hires per year: - -\`\`\` -FROM employees -| EVAL year = DATE_TRUNC(1 year, hire_date) -| STATS hires = COUNT(emp_no) BY year -| SORT year \`\`\` - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -1250,7 +1359,7 @@ FROM employees }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.eFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'E', } @@ -1259,15 +1368,19 @@ FROM employees + +### E +Returns Euler's number. \`\`\` ROW E() \`\`\` - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -1277,7 +1390,7 @@ ROW E() }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.endsWithFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'ENDS_WITH', } @@ -1286,17 +1399,21 @@ ROW E() + +### ENDS_WITH +Returns a boolean that indicates whether a keyword string ends with another string. \`\`\` FROM employees | KEEP last_name | EVAL ln_E = ENDS_WITH(last_name, "d") \`\`\` - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -1306,7 +1423,7 @@ FROM employees }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.floorFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'FLOOR', } @@ -1315,18 +1432,55 @@ FROM employees + +### FLOOR Round a number down to the nearest integer. \`\`\` ROW a=1.8 | EVAL a=FLOOR(a) \`\`\` +Note: This is a noop for \`long\` (including unsigned) and \`integer\`. +For \`double\` this picks the closest \`double\` value to the integer +similar to Math.floor. +`, + description: + 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', + } + )} + /> + ), + }, + { + label: i18n.translate( + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', + { + defaultMessage: 'FROM_BASE64', + } + ), + description: ( + -Note: this is a noop for \`long\` (including unsigned) and \`integer\`. For \`double\` this picks the closest \`double\` value to the integer similar to Java's \`Math.floor\`. - `, +### FROM_BASE64 +Decode a base64 string. + +\`\`\` +row a = "ZWxhc3RpYw==" +| eval d = from_base64(a) +\`\`\` +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -1336,7 +1490,7 @@ Note: this is a noop for \`long\` (including unsigned) and \`integer\`. For \`do }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.greatestFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'GREATEST', } @@ -1345,18 +1499,22 @@ Note: this is a noop for \`long\` (including unsigned) and \`integer\`. For \`do + +### GREATEST +Returns the maximum value from multiple columns. This is similar to <> +except it is intended to run on multiple columns at once. \`\`\` ROW a = 10, b = 20 -| EVAL g = GREATEST(a, b); +| EVAL g = GREATEST(a, b) \`\`\` - -Note: when run on \`keyword\` or \`text\` fields, this will return the last string in alphabetical order. When run on \`boolean\` columns this will return \`true\` if any values are \`true\`. - `, +Note: When run on \`keyword\` or \`text\` fields, this returns the last string in alphabetical order. When run on \`boolean\` columns this will return \`true\` if any values are \`true\`. +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -1366,7 +1524,7 @@ Note: when run on \`keyword\` or \`text\` fields, this will return the last stri }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.leastFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'LEAST', } @@ -1375,18 +1533,20 @@ Note: when run on \`keyword\` or \`text\` fields, this will return the last stri + +### LEAST +Returns the minimum value from multiple columns. This is similar to <> except it is intended to run on multiple columns at once. \`\`\` ROW a = 10, b = 20 | EVAL l = LEAST(a, b) \`\`\` - -Note: when run on \`keyword\` or \`text\` fields, this will return the first string in alphabetical order. When run on \`boolean\` columns this will return \`false\` if any values are \`false\`. - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -1396,7 +1556,7 @@ Note: when run on \`keyword\` or \`text\` fields, this will return the first str }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.leftFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'LEFT', } @@ -1405,10 +1565,14 @@ Note: when run on \`keyword\` or \`text\` fields, this will return the first str + +### LEFT +Returns the substring that extracts 'length' chars from 'string' starting from the left. \`\`\` FROM employees @@ -1417,7 +1581,7 @@ FROM employees | SORT last_name ASC | LIMIT 5 \`\`\` - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -1427,7 +1591,7 @@ FROM employees }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.lengthFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'LENGTH', } @@ -1436,17 +1600,21 @@ FROM employees + +### LENGTH Returns the character length of a string. \`\`\` FROM employees -| KEEP first_name, last_name, height +| KEEP first_name, last_name | EVAL fn_length = LENGTH(first_name) \`\`\` - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -1456,27 +1624,29 @@ FROM employees }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.log10Function', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { - defaultMessage: 'LOG10', + defaultMessage: 'LOCATE', } ), description: ( -Logs of negative numbers are NaN. Logs of infinites are infinite, as is the log of 0. +### LOCATE +Returns an integer that indicates the position of a keyword substring within another string \`\`\` -ROW d = 1000.0 -| EVAL s = LOG10(d) +row a = "hello" +| eval a_ll = locate(a, "ll") \`\`\` - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -1486,28 +1656,31 @@ ROW d = 1000.0 }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.ltrimunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { - defaultMessage: 'LTRIM', + defaultMessage: 'LOG', } ), description: ( + +### LOG +Returns the logarithm of a value to a base. The input can be any numeric value, the return value is always a double. + +Logs of zero, negative numbers, and base of one return \`null\` as well as a warning. \`\`\` -ROW message = " some text ", color = " red " -| EVAL message = LTRIM(message) -| EVAL color = LTRIM(color) -| EVAL message = CONCAT("'", message, "'") -| EVAL color = CONCAT("'", color, "'") +ROW base = 2.0, value = 8.0 +| EVAL s = LOG(base, value) \`\`\` - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -1517,33 +1690,31 @@ ROW message = " some text ", color = " red " }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvAvgFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { - defaultMessage: 'MV_AVG', + defaultMessage: 'LOG10', } ), description: ( -\`\`\` -ROW a=[3, 5, 1, 6] -| EVAL avg_a = MV_AVG(a) -\`\`\` +### LOG10 +Returns the logarithm of a value to base 10. The input can be any numeric value, the return value is always a double. -Returning: +Logs of 0 and negative numbers return \`null\` as well as a warning. \`\`\` -[3, 5, 1, 6] | 3.75 +ROW d = 1000.0 +| EVAL s = LOG10(d) \`\`\` - -NOTE: The output type is always a double and the input type can be any number. - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -1553,44 +1724,32 @@ NOTE: The output type is always a double and the input type can be any number. }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvConcatFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { - defaultMessage: 'MV_CONCAT', + defaultMessage: 'LTRIM', } ), description: ( -\`\`\` -ROW a=[10, 9, 8] -| EVAL j = MV_CONCAT(TO_STRING(a), ", ") -\`\`\` - -Returning: +### LTRIM +Removes leading whitespaces from a string. \`\`\` -[10, 9, 8] | "10, 9, 8" +ROW message = " some text ", color = " red " +| EVAL message = LTRIM(message) +| EVAL color = LTRIM(color) +| EVAL message = CONCAT("'", message, "'") +| EVAL color = CONCAT("'", color, "'") \`\`\` - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -1600,33 +1759,61 @@ Returning: }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvCountFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { - defaultMessage: 'MV_COUNT', + defaultMessage: 'MV_AVG', } ), description: ( + +### MV_AVG +Converts a multivalued field into a single valued field containing the average of all of the values. \`\`\` -ROW a=["foo", "zoo", "bar"] -| EVAL count_a = MV_COUNT(a) +ROW a=[3, 5, 1, 6] +| EVAL avg_a = MV_AVG(a) \`\`\` +`, + description: + 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', + } + )} + /> + ), + }, + { + label: i18n.translate( + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', + { + defaultMessage: 'MV_CONCAT', + } + ), + description: ( + -Returning: +### MV_CONCAT +Converts a multivalued string expression into a single valued column containing the concatenation of all values separated by a delimiter. \`\`\` -["foo", "zoo", "bar"] | 3 +ROW a=["foo", "zoo", "bar"] +| EVAL j = MV_CONCAT(a, ", ") \`\`\` - -NOTE: This function accepts all types and always returns an integer. - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -1636,33 +1823,62 @@ NOTE: This function accepts all types and always returns an integer. }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvDedupeFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { - defaultMessage: 'MV_DEDUPE', + defaultMessage: 'MV_COUNT', } ), description: ( + +### MV_COUNT +Converts a multivalued expression into a single valued column containing a count of the number of values. \`\`\` -ROW a=["foo", "foo", "bar", "foo"] -| EVAL dedupe_a = MV_DEDUPE(a) +ROW a=["foo", "zoo", "bar"] +| EVAL count_a = MV_COUNT(a) \`\`\` +`, + description: + 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', + } + )} + /> + ), + }, + { + label: i18n.translate( + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', + { + defaultMessage: 'MV_DEDUPE', + } + ), + description: ( + -Returning: +### MV_DEDUPE +Remove duplicate values from a multivalued field. \`\`\` -["foo", "foo", "bar", "foo"] | ["foo", "bar"] +ROW a=["foo", "foo", "bar", "foo"] +| EVAL dedupe_a = MV_DEDUPE(a) \`\`\` - -NOTE: \`MV_DEDUPE\` may, but won’t always, sort the values in the field. - `, +Note: \`MV_DEDUPE\` may, but won't always, sort the values in the column. +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -1672,7 +1888,7 @@ NOTE: \`MV_DEDUPE\` may, but won’t always, sort the values in the field. }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvFirstFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'MV_FIRST', } @@ -1680,28 +1896,29 @@ NOTE: \`MV_DEDUPE\` may, but won’t always, sort the values in the field. description: ( -\`\`\` -ROW a="foo;bar;baz" -| EVAL first_a = MV_FIRST(SPLIT(a, ";")) -\`\`\` +### MV_FIRST +Converts a multivalued expression into a single valued column containing the +first value. This is most useful when reading from a function that emits +multivalued columns in a known order like <>. -Returning: +The order that <> are read from +underlying storage is not guaranteed. It is *frequently* ascending, but don't +rely on that. If you need the minimum value use <> instead of +\`MV_FIRST\`. \`MV_MIN\` has optimizations for sorted values so there isn't a +performance benefit to \`MV_FIRST\`. \`\`\` -foo;bar;baz | foo +ROW a="foo;bar;baz" +| EVAL first_a = MV_FIRST(SPLIT(a, ";")) \`\`\` - -The order that [multivalued fields](https://www.elastic.co/guide/en/elasticsearch/reference/current/esql-multivalued-fields.html) are read from underlying storage is not guaranteed. It is frequently ascending, but don’t rely on that. If you need the minimum field value use \`MV_MIN\` instead of \`MV_FIRST\`. \`MV_MIN\` has optimizations for sorted values so there isn’t a performance benefit to \`MV_FIRST\`. \`MV_FIRST\` is mostly useful with functions that create multivalued fields like \`SPLIT\`. - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -1711,7 +1928,7 @@ The order that [multivalued fields](https://www.elastic.co/guide/en/elasticsearc }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvLastFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'MV_LAST', } @@ -1720,22 +1937,28 @@ The order that [multivalued fields](https://www.elastic.co/guide/en/elasticsearc + +### MV_LAST +Converts a multivalue expression into a single valued column containing the last +value. This is most useful when reading from a function that emits multivalued +columns in a known order like <>. -Returning: +The order that <> are read from +underlying storage is not guaranteed. It is *frequently* ascending, but don't +rely on that. If you need the maximum value use <> instead of +\`MV_LAST\`. \`MV_MAX\` has optimizations for sorted values so there isn't a +performance benefit to \`MV_LAST\`. \`\`\` -foo;bar;baz | baz +ROW a="foo;bar;baz" +| EVAL last_a = MV_LAST(SPLIT(a, ";")) \`\`\` - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -1745,7 +1968,7 @@ foo;bar;baz | baz }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvMaxFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'MV_MAX', } @@ -1754,35 +1977,20 @@ foo;bar;baz | baz -Returning: +### MV_MAX +Converts a multivalued expression into a single valued column containing the maximum value. \`\`\` -[3, 5, 1] | 5 -\`\`\` - -It can be used by any field type, including \`keyword\` fields. In that case picks the last string, comparing their utf-8 representation byte by byte: - -\`\`\` -ROW a=["foo", "zoo", "bar"] +ROW a=[3, 5, 1] | EVAL max_a = MV_MAX(a) \`\`\` - -Returning: - -\`\`\` -["foo", "zoo", "bar"] | "zoo" -\`\`\` - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -1792,7 +2000,7 @@ Returning: }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvMedianFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'MV_MEDIAN', } @@ -1801,35 +2009,20 @@ Returning: -It can be used by any numeric field type and returns a value of the same type. If the row has an even number of values for a column the result will be the average of the middle two entries. If the field is not floating point then the average rounds **down**: +### MV_MEDIAN +Converts a multivalued field into a single valued field containing the median value. \`\`\` -ROW a=[3, 7, 1, 6] +ROW a=[3, 5, 1] | EVAL median_a = MV_MEDIAN(a) \`\`\` - -Returning: - -\`\`\` -[3, 7, 1, 6] | 4 -\`\`\` - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -1839,7 +2032,7 @@ Returning: }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvMinFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'MV_MIN', } @@ -1848,35 +2041,20 @@ Returning: -Returning: +### MV_MIN +Converts a multivalued expression into a single valued column containing the minimum value. \`\`\` -[2, 1] | 1 -\`\`\` - -It can be used by any field type, including \`keyword\` fields. In that case picks the last string, comparing their utf-8 representation byte by byte: - -\`\`\` -ROW a=["foo", "bar"] +ROW a=[2, 1] | EVAL min_a = MV_MIN(a) \`\`\` - -Returning: - -\`\`\` -["foo", "bar"] | "bar" -\`\`\` - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -1886,30 +2064,29 @@ Returning: }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvSortFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { - defaultMessage: 'MV_SORT', + defaultMessage: 'MV_SLICE', } ), description: ( -Example: +### MV_SLICE +Returns a subset of the multivalued field using the start and end index values. \`\`\` -ROW a = [4, 2, -3, 2] -| EVAL sa = mv_sort(a), sd = mv_sort(a, "DESC") +row a = [1, 2, 2, 3] +| eval a1 = mv_slice(a, 1), a2 = mv_slice(a, 2, 3) \`\`\` - - -Valid order options are \`ASC\` and \`DESC\`, default is \`ASC\`. - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -1919,29 +2096,29 @@ Valid order options are \`ASC\` and \`DESC\`, default is \`ASC\`. }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvSliceFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { - defaultMessage: 'MV_SLICE', + defaultMessage: 'MV_SORT', } ), description: ( - -Example: +### MV_SORT +Sorts a multivalued field in lexicographical order. \`\`\` -ROW a = [1, 2, 2, 3] -| EVAL a1 = MV_SLICE(a, 1), a2 = MV_SLICE(a, 2, 3) +ROW a = [4, 2, -3, 2] +| EVAL sa = mv_sort(a), sd = mv_sort(a, "DESC") \`\`\` - - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -1951,7 +2128,7 @@ ROW a = [1, 2, 2, 3] }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvSumFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'MV_SUM', } @@ -1960,23 +2137,20 @@ ROW a = [1, 2, 2, 3] -Returning: +### MV_SUM +Converts a multivalued field into a single valued field containing the sum of all of the values. \`\`\` -[3, 5, 6] | 14 +ROW a=[3, 5, 6] +| EVAL sum_a = MV_SUM(a) \`\`\` - -NOTE: The input type can be any number and the output type is the same as the input type. - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -1986,7 +2160,7 @@ NOTE: The input type can be any number and the output type is the same as the in }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvZipFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'MV_ZIP', } @@ -1995,24 +2169,21 @@ NOTE: The input type can be any number and the output type is the same as the in -Example: +### MV_ZIP +Combines the values from two multivalued fields with a delimiter that joins them together. \`\`\` ROW a = ["x", "y", "z"], b = ["1", "2"] | EVAL c = mv_zip(a, b, "-") | KEEP a, b, c \`\`\` - -Specifying a delimiter is optional. If omitted, the default delimiter \`,\` is used. - - - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -2022,7 +2193,7 @@ Specifying a delimiter is optional. If omitted, the default delimiter \`,\` is u }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.nowFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'NOW', } @@ -2031,15 +2202,19 @@ Specifying a delimiter is optional. If omitted, the default delimiter \`,\` is u + +### NOW Returns current date and time. \`\`\` ROW current_date = NOW() \`\`\` - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -2049,7 +2224,7 @@ ROW current_date = NOW() }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.piFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'PI', } @@ -2058,15 +2233,19 @@ ROW current_date = NOW() + +### PI +Returns Pi, the ratio of a circle's circumference to its diameter. \`\`\` ROW PI() \`\`\` - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -2076,7 +2255,7 @@ ROW PI() }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.powFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'POW', } @@ -2085,25 +2264,55 @@ ROW PI() + +### POW +Returns the value of \`base\` raised to the power of \`exponent\`. \`\`\` -ROW base = 2.0, exponent = 2.0 -| EVAL s = POW(base, exponent) +ROW base = 2.0, exponent = 2 +| EVAL result = POW(base, exponent) \`\`\` +Note: It is still possible to overflow a double result here; in that case, null will be returned. +`, + description: + 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', + } + )} + /> + ), + }, + { + label: i18n.translate( + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', + { + defaultMessage: 'REPLACE', + } + ), + description: ( + -#### Fractional exponents - -The exponent can be a fraction, which is similar to performing a root. For example, the exponent of 0.5 will give the square root of the base: +### REPLACE +The function substitutes in the string \`str\` any match of the regular expression \`regex\` +with the replacement string \`newStr\`. \`\`\` -ROW base = 4, exponent = 0.5 -| EVAL s = POW(base, exponent) +ROW str = "Hello World" +| EVAL str = REPLACE(str, "World", "Universe") +| KEEP str \`\`\` - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -2113,7 +2322,7 @@ ROW base = 4, exponent = 0.5 }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.rightFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'RIGHT', } @@ -2122,10 +2331,14 @@ ROW base = 4, exponent = 0.5 + +### RIGHT +Return the substring that extracts 'length' chars from 'str' starting from the right. \`\`\` FROM employees @@ -2134,7 +2347,7 @@ FROM employees | SORT last_name ASC | LIMIT 5 \`\`\` - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -2144,7 +2357,7 @@ FROM employees }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.roundFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'ROUND', } @@ -2153,17 +2366,24 @@ FROM employees + +### ROUND +Rounds a number to the specified number of decimal places. +Defaults to 0, which returns the nearest integer. If the +precision is a negative number, rounds to the number of digits left +of the decimal point. \`\`\` FROM employees | KEEP first_name, last_name, height -| EVAL height = ROUND(height * 3.281, 1) +| EVAL height_ft = ROUND(height * 3.281, 1) \`\`\` - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -2173,7 +2393,7 @@ FROM employees }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.rtrimFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'RTRIM', } @@ -2182,10 +2402,14 @@ FROM employees + +### RTRIM +Removes trailing whitespaces from a string. \`\`\` ROW message = " some text ", color = " red " @@ -2194,7 +2418,7 @@ ROW message = " some text ", color = " red " | EVAL message = CONCAT("'", message, "'") | EVAL color = CONCAT("'", color, "'") \`\`\` - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -2204,7 +2428,7 @@ ROW message = " some text ", color = " red " }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.signumFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'SIGNUM', } @@ -2213,18 +2437,21 @@ ROW message = " some text ", color = " red " -Example: +### SIGNUM +Returns the sign of the given number. +It returns \`-1\` for negative numbers, \`0\` for \`0\` and \`1\` for positive numbers. \`\`\` ROW d = 100.0 | EVAL s = SIGNUM(d) \`\`\` - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -2234,7 +2461,7 @@ ROW d = 100.0 }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.sinFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'SIN', } @@ -2243,16 +2470,20 @@ ROW d = 100.0 + +### SIN +Returns ths Sine trigonometric function of an angle. \`\`\` -ROW a=1.8 +ROW a=1.8 | EVAL sin=SIN(a) \`\`\` - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -2262,7 +2493,7 @@ ROW a=1.8 }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.sinhFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'SINH', } @@ -2271,16 +2502,257 @@ ROW a=1.8 + +### SINH +Returns the hyperbolic sine of an angle. \`\`\` -ROW a=1.8 +ROW a=1.8 | EVAL sinh=SINH(a) \`\`\` - `, +`, + description: + 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', + } + )} + /> + ), + }, + { + label: i18n.translate( + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', + { + defaultMessage: 'SPLIT', + } + ), + description: ( + + +### SPLIT +Split a single valued string into multiple strings. + +\`\`\` +ROW words="foo;bar;baz;qux;quux;corge" +| EVAL word = SPLIT(words, ";") +\`\`\` +`, + description: + 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', + } + )} + /> + ), + }, + { + label: i18n.translate( + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', + { + defaultMessage: 'SQRT', + } + ), + description: ( + + +### SQRT +Returns the square root of a number. The input can be any numeric value, the return value is always a double. +Square roots of negative numbers and infinities are null. + +\`\`\` +ROW d = 100.0 +| EVAL s = SQRT(d) +\`\`\` +`, + description: + 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', + } + )} + /> + ), + }, + { + label: i18n.translate( + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', + { + defaultMessage: 'ST_CONTAINS', + } + ), + description: ( + + +### ST_CONTAINS +Returns whether the first geometry contains the second geometry. +This is the inverse of the <> function. + +\`\`\` +FROM airport_city_boundaries +| WHERE ST_CONTAINS(city_boundary, TO_GEOSHAPE("POLYGON((109.35 18.3, 109.45 18.3, 109.45 18.4, 109.35 18.4, 109.35 18.3))")) +| KEEP abbrev, airport, region, city, city_location +\`\`\` +`, + description: + 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', + } + )} + /> + ), + }, + { + label: i18n.translate( + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', + { + defaultMessage: 'ST_DISJOINT', + } + ), + description: ( + + +### ST_DISJOINT +Returns whether the two geometries or geometry columns are disjoint. +This is the inverse of the <> function. +In mathematical terms: ST_Disjoint(A, B) ⇔ A ⋂ B = ∅ + +\`\`\` +FROM airport_city_boundaries +| WHERE ST_DISJOINT(city_boundary, TO_GEOSHAPE("POLYGON((-10 -60, 120 -60, 120 60, -10 60, -10 -60))")) +| KEEP abbrev, airport, region, city, city_location +\`\`\` +`, + description: + 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', + } + )} + /> + ), + }, + { + label: i18n.translate( + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', + { + defaultMessage: 'ST_INTERSECTS', + } + ), + description: ( + + +### ST_INTERSECTS +Returns true if two geometries intersect. +They intersect if they have any point in common, including their interior points +(points along lines or within polygons). +This is the inverse of the <> function. +In mathematical terms: ST_Intersects(A, B) ⇔ A ⋂ B ≠ ∅ + +\`\`\` +FROM airports +| WHERE ST_INTERSECTS(location, TO_GEOSHAPE("POLYGON((42 14, 43 14, 43 15, 42 15, 42 14))")) +\`\`\` +`, + description: + 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', + } + )} + /> + ), + }, + { + label: i18n.translate( + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', + { + defaultMessage: 'ST_WITHIN', + } + ), + description: ( + + +### ST_WITHIN +Returns whether the first geometry is within the second geometry. +This is the inverse of the <> function. + +\`\`\` +FROM airport_city_boundaries +| WHERE ST_WITHIN(city_boundary, TO_GEOSHAPE("POLYGON((109.1 18.15, 109.6 18.15, 109.6 18.65, 109.1 18.65, 109.1 18.15))")) +| KEEP abbrev, airport, region, city, city_location +\`\`\` +`, + description: + 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', + } + )} + /> + ), + }, + { + label: i18n.translate( + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', + { + defaultMessage: 'ST_X', + } + ), + description: ( + + +### ST_X +Extracts the \`x\` coordinate from the supplied point. +If the points is of type \`geo_point\` this is equivalent to extracting the \`longitude\` value. + +\`\`\` +ROW point = TO_GEOPOINT("POINT(42.97109629958868 14.7552534006536)") +| EVAL x = ST_X(point), y = ST_Y(point) +\`\`\` +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -2290,33 +2762,30 @@ ROW a=1.8 }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.splitFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { - defaultMessage: 'SPLIT', + defaultMessage: 'ST_Y', } ), description: ( -Which splits \`"foo;bar;baz;qux;quux;corge"\` on \`;\` and returns an array: +### ST_Y +Extracts the \`y\` coordinate from the supplied point. +If the points is of type \`geo_point\` this is equivalent to extracting the \`latitude\` value. \`\`\` -foo;bar;baz;qux;quux;corge | [foo,bar,baz,qux,quux,corge] +ROW point = TO_GEOPOINT("POINT(42.97109629958868 14.7552534006536)") +| EVAL x = ST_X(point), y = ST_Y(point) \`\`\` - -NOTE: Only single byte delimiters are currently supported. - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -2326,27 +2795,30 @@ NOTE: Only single byte delimiters are currently supported. }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.sqrtFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { - defaultMessage: 'SQRT', + defaultMessage: 'STARTS_WITH', } ), description: ( -Square roots of negative numbers are NaN. Square roots of infinites are infinite. +### STARTS_WITH +Returns a boolean that indicates whether a keyword string starts with another string. \`\`\` -ROW d = 100.0 -| EVAL s = SQRT(d) +FROM employees +| KEEP last_name +| EVAL ln_S = STARTS_WITH(last_name, "B") \`\`\` - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -2356,26 +2828,30 @@ ROW d = 100.0 }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.startsWithFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { - defaultMessage: 'STARTS_WITH', + defaultMessage: 'SUBSTRING', } ), description: ( + +### SUBSTRING +Returns a substring of a string, specified by a start position and an optional length \`\`\` FROM employees -| KEEP first_name, last_name, height -| EVAL ln_S = STARTS_WITH(last_name, "S") +| KEEP last_name +| EVAL ln_sub = SUBSTRING(last_name, 1, 3) \`\`\` - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -2385,42 +2861,29 @@ FROM employees }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.substringFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { - defaultMessage: 'SUBSTRING', + defaultMessage: 'TAN', } ), description: ( -If length is omitted, substring returns the remainder of the string. This example returns all characters except for the first: +### TAN +Returns the Tangent trigonometric function of an angle. \`\`\` -FROM employees -| KEEP last_name -| EVAL ln_sub = SUBSTRING(last_name, 2) +ROW a=1.8 +| EVAL tan=TAN(a) \`\`\` - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -2430,25 +2893,29 @@ FROM employees }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.tanFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { - defaultMessage: 'TAN', + defaultMessage: 'TANH', } ), description: ( + +### TANH +Returns the Tangent hyperbolic function of an angle. \`\`\` -ROW a=1.8 -| EVAL tan=TAN(a) +ROW a=1.8 +| EVAL tanh=TANH(a) \`\`\` - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -2458,25 +2925,28 @@ ROW a=1.8 }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.tanhFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { - defaultMessage: 'TANH', + defaultMessage: 'TAU', } ), description: ( + +### TAU +Returns the ratio of a circle's circumference to its radius. \`\`\` -ROW a=1.8 -| EVAL tanh=TANH(a) +ROW TAU() \`\`\` - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -2486,24 +2956,29 @@ ROW a=1.8 }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.tauFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { - defaultMessage: 'TAU', + defaultMessage: 'TO_BASE64', } ), description: ( + +### TO_BASE64 +Encode a string to a base64 string. \`\`\` -ROW TAU() +row a = "elastic" +| eval e = to_base64(a) \`\`\` - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -2513,7 +2988,7 @@ ROW TAU() }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toBooleanFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'TO_BOOLEAN', } @@ -2522,30 +2997,23 @@ ROW TAU() -The input can be a single- or multi-valued field or an expression. The input type must be of a string or numeric type. - -A string value of **"true"** will be case-insensitive converted to the Boolean **true**. For anything else, including the empty string, the function will return **false**. For example: +### TO_BOOLEAN +Converts an input value to a boolean value. +A string value of *true* will be case-insensitive converted to the Boolean *true*. +For anything else, including the empty string, the function will return *false*. +The numerical value of *0* will be converted to *false*, anything else will be converted to *true*. \`\`\` ROW str = ["true", "TRuE", "false", "", "yes", "1"] | EVAL bool = TO_BOOLEAN(str) \`\`\` - -Returning: - -\`\`\` -["true", "TRuE", "false", "", "yes", "1"] | [true, true, false, false, false, false] -\`\`\` - -The numerical value of **0** will be converted to **false**, anything else will be converted to **true**. - -Alias: TO_BOOL - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -2555,7 +3023,7 @@ Alias: TO_BOOL }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toCartesianpointFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'TO_CARTESIANPOINT', } @@ -2564,21 +3032,22 @@ Alias: TO_BOOL -A string will only be successfully converted if it respects the [WKT Point](https://en.wikipedia.org/wiki/Well-known_text_representation_of_geometry) format: +### TO_CARTESIANPOINT +Converts an input value to a \`cartesian_point\` value. +A string will only be successfully converted if it respects WKT Point format. \`\`\` ROW wkt = ["POINT(4297.11 -1475.53)", "POINT(7580.93 2272.77)"] | MV_EXPAND wkt | EVAL pt = TO_CARTESIANPOINT(wkt) \`\`\` - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -2588,7 +3057,7 @@ ROW wkt = ["POINT(4297.11 -1475.53)", "POINT(7580.93 2272.77)"] }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toCartesianShapeFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'TO_CARTESIANSHAPE', } @@ -2596,25 +3065,23 @@ ROW wkt = ["POINT(4297.11 -1475.53)", "POINT(7580.93 2272.77)"] description: ( + +### TO_CARTESIANSHAPE Converts an input value to a \`cartesian_shape\` value. +A string will only be successfully converted if it respects WKT format. -The input can be a single- or multi-valued field or an expression. The input type must be a string or a \`cartesian_shape\`. - -A string will only be successfully converted if it respects the [WKT](https://en.wikipedia.org/wiki/Well-known_text_representation_of_geometry) format: - -For example: - \`\`\` ROW wkt = ["POINT(4297.11 -1475.53)", "POLYGON ((3339584.72 1118889.97, 4452779.63 4865942.27, 2226389.81 4865942.27, 1113194.90 2273030.92, 3339584.72 1118889.97))"] | MV_EXPAND wkt | EVAL geom = TO_CARTESIANSHAPE(wkt) \`\`\` - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -2624,7 +3091,7 @@ ROW wkt = ["POINT(4297.11 -1475.53)", "POLYGON ((3339584.72 1118889.97, 4452779. }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toDatetimeFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'TO_DATETIME', } @@ -2633,43 +3100,22 @@ ROW wkt = ["POINT(4297.11 -1475.53)", "POLYGON ((3339584.72 1118889.97, 4452779. -The input can be a single- or multi-valued field or an expression. The input type must be of a string or numeric type. - -A string will only be successfully converted if it’s respecting the format \`yyyy-MM-dd'T'HH:mm:ss.SSS'Z'\`. For example: +### TO_DATETIME +Converts an input value to a date value. +A string will only be successfully converted if it's respecting the format \`yyyy-MM-dd'T'HH:mm:ss.SSS'Z'\`. +To convert dates in other formats, use <>. \`\`\` ROW string = ["1953-09-02T00:00:00.000Z", "1964-06-02T00:00:00.000Z", "1964-06-02 00:00:00"] | EVAL datetime = TO_DATETIME(string) \`\`\` - -Returning: - -\`\`\` -["1953-09-02T00:00:00.000Z", "1964-06-02T00:00:00.000Z", "1964-06-02 00:00:00"] | [1953-09-02T00:00:00.000Z, 1964-06-02T00:00:00.000Z] -\`\`\` - -Note that in this example, the last value in the source multi-valued field has not been converted. The reason being that if the date format is not respected, the conversion will result in a **null** value. - -If the input parameter is of a numeric type, its value will be interpreted as milliseconds since the Unix epoch. For example: - -\`\`\` -ROW int = [0, 1] -| EVAL dt = TO_DATETIME(int) -\`\`\` - -Returning: - -\`\`\` -[0, 1] | [1970-01-01T00:00:00.000Z, 1970-01-01T00:00:00.001Z] -\`\`\` - -Alias: TO_DT - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -2679,7 +3125,7 @@ Alias: TO_DT }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toDegreesFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'TO_DEGREES', } @@ -2688,18 +3134,20 @@ Alias: TO_DT -The input can be a single- or multi-valued field or an expression. The input type must be of a numeric type and result is always \`double\`. +### TO_DEGREES +Converts a number in radians to degrees. \`\`\` ROW rad = [1.57, 3.14, 4.71] | EVAL deg = TO_DEGREES(rad) \`\`\` - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -2709,7 +3157,7 @@ ROW rad = [1.57, 3.14, 4.71] }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toDoubleFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'TO_DOUBLE', } @@ -2718,34 +3166,22 @@ ROW rad = [1.57, 3.14, 4.71] -The input can be a single- or multi-valued field or an expression. The input type must be of a boolean, date, string or numeric type. - -Example: +### TO_DOUBLE +Converts an input value to a double value. If the input parameter is of a date type, +its value will be interpreted as milliseconds since the Unix epoch, +converted to double. Boolean *true* will be converted to double *1.0*, *false* to *0.0*. \`\`\` ROW str1 = "5.20128E11", str2 = "foo" | EVAL dbl = TO_DOUBLE("520128000000"), dbl1 = TO_DOUBLE(str1), dbl2 = TO_DOUBLE(str2) \`\`\` - -Returning: - -\`\`\` -5.20128E11 | foo | 5.20128E11 | 5.20128E11 | null -\`\`\` - -Note that in this example, the last conversion of the string isn’t possible. When this happens, the result is a **null** value. - -If the input parameter is of a date type, its value will be interpreted as milliseconds since the Unix epoch, converted to double. - -Boolean **true** will be converted to double **1.0**, **false** to **0.0**. - -Alias: TO_DBL - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -2755,7 +3191,7 @@ Alias: TO_DBL }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toGeopointFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'TO_GEOPOINT', } @@ -2763,22 +3199,22 @@ Alias: TO_DBL description: ( -A string will only be successfully converted if it respects the [WKT Point](https://en.wikipedia.org/wiki/Well-known_text_representation_of_geometry) format: +### TO_GEOPOINT +Converts an input value to a \`geo_point\` value. +A string will only be successfully converted if it respects WKT Point format. \`\`\` ROW wkt = "POINT(42.97109630194 14.7552534413725)" | EVAL pt = TO_GEOPOINT(wkt) \`\`\` - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -2788,7 +3224,7 @@ ROW wkt = "POINT(42.97109630194 14.7552534413725)" }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toGeoshapeFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'TO_GEOSHAPE', } @@ -2796,30 +3232,22 @@ ROW wkt = "POINT(42.97109630194 14.7552534413725)" description: ( -For example: +### TO_GEOSHAPE +Converts an input value to a \`geo_shape\` value. +A string will only be successfully converted if it respects WKT format. \`\`\` ROW wkt = "POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10))" | EVAL geom = TO_GEOSHAPE(wkt) \`\`\` - -Returning: - -\`\`\` -POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10)) | POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10)) -\`\`\` - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -2829,7 +3257,7 @@ POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10)) | POLYGON ((30 10, 40 40, 20 40, 1 }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toIntegerFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'TO_INTEGER', } @@ -2838,34 +3266,23 @@ POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10)) | POLYGON ((30 10, 40 40, 20 40, 1 -The input can be a single- or multi-valued field or an expression. The input type must be of a boolean, date, string or numeric type. - -Example: +### TO_INTEGER +Converts an input value to an integer value. +If the input parameter is of a date type, its value will be interpreted as milliseconds +since the Unix epoch, converted to integer. +Boolean *true* will be converted to integer *1*, *false* to *0*. \`\`\` ROW long = [5013792, 2147483647, 501379200000] | EVAL int = TO_INTEGER(long) \`\`\` - -Returning: - -\`\`\` -[5013792, 2147483647, 501379200000] | [5013792, 2147483647] -\`\`\` - -Note that in this example, the last value of the multi-valued field cannot be converted as an integer. When this happens, the result is a **null** value. - -If the input parameter is of a date type, its value will be interpreted as milliseconds since the Unix epoch, converted to integer. - -Boolean **true** will be converted to integer **1**, **false** to **0**. - -Alias: TO_INT - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -2875,7 +3292,7 @@ Alias: TO_INT }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toIpFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'TO_IP', } @@ -2884,29 +3301,21 @@ Alias: TO_INT -Example: +### TO_IP +Converts an input string to an IP value. \`\`\` ROW str1 = "1.1.1.1", str2 = "foo" | EVAL ip1 = TO_IP(str1), ip2 = TO_IP(str2) | WHERE CIDR_MATCH(ip1, "1.0.0.0/8") \`\`\` - -Returning: - -\`\`\` -1.1.1.1 | foo | 1.1.1.1 | null -\`\`\` - -Note that in the example above the last conversion of the string isn’t possible. When this happens, the result is a **null** value. - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -2916,7 +3325,7 @@ Note that in the example above the last conversion of the string isn’t possibl }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toLongFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'TO_LONG', } @@ -2925,32 +3334,22 @@ Note that in the example above the last conversion of the string isn’t possibl -The input can be a single- or multi-valued field or an expression. The input type must be of a boolean, date, string or numeric type. - -Example: +### TO_LONG +Converts an input value to a long value. If the input parameter is of a date type, +its value will be interpreted as milliseconds since the Unix epoch, converted to long. +Boolean *true* will be converted to long *1*, *false* to *0*. \`\`\` ROW str1 = "2147483648", str2 = "2147483648.2", str3 = "foo" | EVAL long1 = TO_LONG(str1), long2 = TO_LONG(str2), long3 = TO_LONG(str3) \`\`\` - -Returning: - -\`\`\` -2147483648 | 2147483648.2 | foo | 2147483648 | 2147483648 | null -\`\`\` - -Note that in this example, the last conversion of the string isn't possible. When this happens, the result is a **null** value. - -If the input parameter is of a date type, its value will be interpreted as milliseconds since the Unix epoch, converted to integer. - -Boolean \`true\` will be converted to long \`1\`, \`false\` to \`0\`. - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -2960,7 +3359,7 @@ Boolean \`true\` will be converted to long \`1\`, \`false\` to \`0\`. }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toLowerFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'TO_LOWER', } @@ -2969,23 +3368,20 @@ Boolean \`true\` will be converted to long \`1\`, \`false\` to \`0\`. -Returning: +### TO_LOWER +Returns a new string representing the input string converted to lower case. \`\`\` -Some Text | some text +ROW message = "Some Text" +| EVAL message_lower = TO_LOWER(message) \`\`\` - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -2995,7 +3391,7 @@ Some Text | some text }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toRadiansFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'TO_RADIANS', } @@ -3004,18 +3400,20 @@ Some Text | some text -The input can be a single- or multi-valued field or an expression. The input type must be of a numeric type and result is always \`double\`. +### TO_RADIANS +Converts a number in degrees to radians. \`\`\` ROW deg = [90.0, 180.0, 270.0] | EVAL rad = TO_RADIANS(deg) \`\`\` - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -3025,7 +3423,7 @@ ROW deg = [90.0, 180.0, 270.0] }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toStringFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'TO_STRING', } @@ -3034,23 +3432,20 @@ ROW deg = [90.0, 180.0, 270.0] -It also works fine on multivalued fields: +### TO_STRING +Converts an input value into a string. \`\`\` -ROW a=[10, 9, 8] +ROW a=10 | EVAL j = TO_STRING(a) \`\`\` - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -3060,7 +3455,7 @@ ROW a=[10, 9, 8] }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toUnsignedLongFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'TO_UNSIGNED_LONG', } @@ -3069,36 +3464,22 @@ ROW a=[10, 9, 8] -The input can be a single- or multi-valued field or an expression. The input type must be of a boolean, date, string or numeric type. +### TO_UNSIGNED_LONG +Converts an input value to an unsigned long value. If the input parameter is of a date type, +its value will be interpreted as milliseconds since the Unix epoch, converted to unsigned long. +Boolean *true* will be converted to unsigned long *1*, *false* to *0*. \`\`\` ROW str1 = "2147483648", str2 = "2147483648.2", str3 = "foo" | EVAL long1 = TO_UNSIGNED_LONG(str1), long2 = TO_ULONG(str2), long3 = TO_UL(str3) \`\`\` - -Note that in this example, the last conversion of the string isn't possible. When this happens, the result is a **null** value. In this case a Warning header is added to the response. The header will provide information on the source of the failure: - -\`\`\` -"Line 1:133: evaluation of [TO_UL(str3)] failed, treating result as null. Only first 20 failures recorded." -\`\`\` - -A following header will contain the failure reason and the offending value: - -\`\`\` -"java.lang.NumberFormatException: Character f is neither a decimal digit number, decimal point, nor \"e\" notation exponential mark." -\`\`\` - -If the input parameter is of a date type, its value will be interpreted as milliseconds since the Unix epoch, converted to unsigned long. - -Boolean \`true\` will be converted to unsigned long \`1\`, \`false\` to \`0\`. - -Alias: TO_ULONG, TO_UL - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -3108,7 +3489,7 @@ Alias: TO_ULONG, TO_UL }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toUpperFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'TO_UPPER', } @@ -3117,24 +3498,20 @@ Alias: TO_ULONG, TO_UL -For example: +### TO_UPPER +Returns a new string representing the input string converted to upper case. \`\`\` -ROW message = "Some Text" +ROW message = "Some Text" | EVAL message_upper = TO_UPPER(message) \`\`\` - -Returning: - -\`\`\` -Some Text | SOME TEXT -\`\`\` - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -3144,7 +3521,7 @@ Some Text | SOME TEXT }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toVersionFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'TO_VERSION', } @@ -3153,23 +3530,19 @@ Some Text | SOME TEXT -Returning: +### TO_VERSION +Converts an input string to a version value. \`\`\` -1.2.3 +ROW v = TO_VERSION("1.2.3") \`\`\` - -Alias: TO_VER - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } @@ -3179,7 +3552,7 @@ Alias: TO_VER }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.trimFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', { defaultMessage: 'TRIM', } @@ -3188,17 +3561,21 @@ Alias: TO_VER + +### TRIM +Removes leading and trailing whitespaces from a string. \`\`\` ROW message = " some text ", color = " red " | EVAL message = TRIM(message) | EVAL color = TRIM(color) \`\`\` - `, +`, description: 'Text is in markdown. Do not translate function names, special characters, or field names like sum(bytes)', } From 394259cf4bb999067de7dae8dfb84e9298d19f0e Mon Sep 17 00:00:00 2001 From: Drew Tate Date: Mon, 3 Jun 2024 15:06:05 -0600 Subject: [PATCH 03/15] generate function docs script --- packages/kbn-text-based-editor/package.json | 11 ++++++-- .../scripts/generate_esql_docs.ts | 26 ++++++------------- 2 files changed, 17 insertions(+), 20 deletions(-) diff --git a/packages/kbn-text-based-editor/package.json b/packages/kbn-text-based-editor/package.json index 5b83664df1afd..1e06d52022975 100644 --- a/packages/kbn-text-based-editor/package.json +++ b/packages/kbn-text-based-editor/package.json @@ -3,5 +3,12 @@ "private": true, "version": "1.0.0", "license": "SSPL-1.0 OR Elastic License 2.0", - "sideEffects": ["*.scss"] -} \ No newline at end of file + "sideEffects": [ + "*.scss" + ], + "scripts": { + "make:docs:esql": "ts-node --transpileOnly scripts/generate_esql_docs.ts", + "postmake:docs:esql": "yarn run lint:fix", + "lint:fix": "cd ../.. && node ./scripts/eslint --fix ./packages/kbn-text-based-editor/src/esql_documentation_sections.tsx" + } +} diff --git a/packages/kbn-text-based-editor/scripts/generate_esql_docs.ts b/packages/kbn-text-based-editor/scripts/generate_esql_docs.ts index b6b8fda1216cf..eae0ed5587172 100644 --- a/packages/kbn-text-based-editor/scripts/generate_esql_docs.ts +++ b/packages/kbn-text-based-editor/scripts/generate_esql_docs.ts @@ -13,17 +13,14 @@ import path from 'path'; import { functions } from '../src/esql_documentation_sections'; (function () { - const functionDocs = loadFunctionDocs(); + const pathToElasticsearch = process.argv[2]; + const functionDocs = loadFunctionDocs(pathToElasticsearch); writeFunctionDocs(functionDocs); })(); -function loadFunctionDocs() { - // read the markdown files from /Users/andrewtate/workspace/elastic/kibana/blue/elasticsearch/docs/reference/esql/functions/kibana/docs - // create a map of function name to markdown content where the function name is the name of the markdown file - +function loadFunctionDocs(pathToElasticsearch: string) { // Define the directory path - const dirPath = - '/Users/andrewtate/workspace/elastic/kibana/blue/elasticsearch/docs/reference/esql/functions/kibana/docs'; + const dirPath = path.join(pathToElasticsearch, '/docs/reference/esql/functions/kibana/docs'); // Read the directory const files = fs.readdirSync(dirPath); @@ -75,26 +72,19 @@ function writeFunctionDocs(functionDocs: Map) { };` ); - const parseTypescript = (code: string) => - // recast.parse(code, { parser: require('recast/parsers/typescript') }); - recast.parse(code); + const pathToDocsFile = path.join(__dirname, '../src/esql_documentation_sections.tsx'); - const ast = parseTypescript( - fs.readFileSync(path.join(__dirname, '../src/esql_documentation_sections.tsx'), 'utf-8') - ); + const ast = recast.parse(fs.readFileSync(pathToDocsFile, 'utf-8')); const functionsList = findFunctionsList(ast); functionsList.elements = codeStrings.map( - (codeString) => parseTypescript(codeString).program.body[0].declarations[0].init + (codeString) => recast.parse(codeString).program.body[0].declarations[0].init ); const newFileContents = recast.print(ast); - fs.writeFileSync( - path.join(__dirname, '../src/esql_documentation_sections.tsx'), - newFileContents.code - ); + fs.writeFileSync(pathToDocsFile, newFileContents.code); } /** From d47b4d951ee76f0e768968c06cc72f2768cfbc04 Mon Sep 17 00:00:00 2001 From: Drew Tate Date: Mon, 3 Jun 2024 15:08:58 -0600 Subject: [PATCH 04/15] rename script --- packages/kbn-text-based-editor/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/kbn-text-based-editor/package.json b/packages/kbn-text-based-editor/package.json index 1e06d52022975..c585b638268ce 100644 --- a/packages/kbn-text-based-editor/package.json +++ b/packages/kbn-text-based-editor/package.json @@ -7,8 +7,8 @@ "*.scss" ], "scripts": { - "make:docs:esql": "ts-node --transpileOnly scripts/generate_esql_docs.ts", - "postmake:docs:esql": "yarn run lint:fix", + "make:docs": "ts-node --transpileOnly scripts/generate_esql_docs.ts", + "postmake:docs": "yarn run lint:fix", "lint:fix": "cd ../.. && node ./scripts/eslint --fix ./packages/kbn-text-based-editor/src/esql_documentation_sections.tsx" } } From 2f4473a6ba1eaefa84186c40ec03885502d6ec7d Mon Sep 17 00:00:00 2001 From: Drew Tate Date: Mon, 3 Jun 2024 15:12:02 -0600 Subject: [PATCH 05/15] update comment --- packages/kbn-text-based-editor/scripts/generate_esql_docs.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/kbn-text-based-editor/scripts/generate_esql_docs.ts b/packages/kbn-text-based-editor/scripts/generate_esql_docs.ts index eae0ed5587172..a616fd3c1ccf5 100644 --- a/packages/kbn-text-based-editor/scripts/generate_esql_docs.ts +++ b/packages/kbn-text-based-editor/scripts/generate_esql_docs.ts @@ -88,9 +88,7 @@ function writeFunctionDocs(functionDocs: Map) { } /** - * This function searches the AST for the describe block containing per-function tests - * @param ast - * @returns + * This function searches the AST for the functions list */ function findFunctionsList(ast: any): recast.types.namedTypes.ArrayExpression { let foundArray: recast.types.namedTypes.ArrayExpression | null = null; From a66683ffd142b74f0b80e92d992829ad8d03ddc1 Mon Sep 17 00:00:00 2001 From: Drew Tate Date: Mon, 3 Jun 2024 15:56:20 -0600 Subject: [PATCH 06/15] fix i18n --- packages/kbn-text-based-editor/package.json | 5 +- .../scripts/generate_esql_docs.ts | 2 +- .../src/esql_documentation_sections.tsx | 186 +++++++++--------- .../translations/translations/fr-FR.json | 138 ------------- .../translations/translations/ja-JP.json | 138 ------------- .../translations/translations/zh-CN.json | 138 ------------- 6 files changed, 94 insertions(+), 513 deletions(-) diff --git a/packages/kbn-text-based-editor/package.json b/packages/kbn-text-based-editor/package.json index c585b638268ce..93c1c949a10d1 100644 --- a/packages/kbn-text-based-editor/package.json +++ b/packages/kbn-text-based-editor/package.json @@ -8,7 +8,8 @@ ], "scripts": { "make:docs": "ts-node --transpileOnly scripts/generate_esql_docs.ts", - "postmake:docs": "yarn run lint:fix", - "lint:fix": "cd ../.. && node ./scripts/eslint --fix ./packages/kbn-text-based-editor/src/esql_documentation_sections.tsx" + "postmake:docs": "yarn run lint:fix && yarn run i18n:fix", + "lint:fix": "cd ../.. && node ./scripts/eslint --fix ./packages/kbn-text-based-editor/src/esql_documentation_sections.tsx", + "i18n:fix": "cd ../.. && node ./scripts/i18n_check.js --fix" } } diff --git a/packages/kbn-text-based-editor/scripts/generate_esql_docs.ts b/packages/kbn-text-based-editor/scripts/generate_esql_docs.ts index a616fd3c1ccf5..87035bcc41f0a 100644 --- a/packages/kbn-text-based-editor/scripts/generate_esql_docs.ts +++ b/packages/kbn-text-based-editor/scripts/generate_esql_docs.ts @@ -51,7 +51,7 @@ function writeFunctionDocs(functionDocs: Map) { ([name, doc]) => ` const foo = { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.${name}', { defaultMessage: '${name.toUpperCase()}', } diff --git a/packages/kbn-text-based-editor/src/esql_documentation_sections.tsx b/packages/kbn-text-based-editor/src/esql_documentation_sections.tsx index 17fd7a83f02e8..2b67b49a3e57f 100644 --- a/packages/kbn-text-based-editor/src/esql_documentation_sections.tsx +++ b/packages/kbn-text-based-editor/src/esql_documentation_sections.tsx @@ -729,7 +729,7 @@ export const functions = { items: [ { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.abs', { defaultMessage: 'ABS', } @@ -761,7 +761,7 @@ ROW number = -1.0 }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.acos', { defaultMessage: 'ACOS', } @@ -793,7 +793,7 @@ ROW a=.9 }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.asin', { defaultMessage: 'ASIN', } @@ -826,7 +826,7 @@ ROW a=.9 }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.atan', { defaultMessage: 'ATAN', } @@ -859,7 +859,7 @@ ROW a=12.9 }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.atan2', { defaultMessage: 'ATAN2', } @@ -892,7 +892,7 @@ ROW y=12.9, x=.6 }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.bucket', { defaultMessage: 'BUCKET', } @@ -927,7 +927,7 @@ FROM employees }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.case', { defaultMessage: 'CASE', } @@ -968,7 +968,7 @@ FROM employees }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.cbrt', { defaultMessage: 'CBRT', } @@ -1001,7 +1001,7 @@ ROW d = 1000.0 }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.ceil', { defaultMessage: 'CEIL', } @@ -1034,7 +1034,7 @@ Note: This is a noop for \`long\` (including unsigned) and \`integer\`. For \`do }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.cidr_match', { defaultMessage: 'CIDR_MATCH', } @@ -1067,7 +1067,7 @@ FROM hosts }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.coalesce', { defaultMessage: 'COALESCE', } @@ -1099,7 +1099,7 @@ ROW a=null, b="b" }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.concat', { defaultMessage: 'CONCAT', } @@ -1132,7 +1132,7 @@ FROM employees }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.cos', { defaultMessage: 'COS', } @@ -1164,7 +1164,7 @@ ROW a=1.8 }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.cosh', { defaultMessage: 'COSH', } @@ -1196,7 +1196,7 @@ ROW a=1.8 }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.date_diff', { defaultMessage: 'DATE_DIFF', } @@ -1229,7 +1229,7 @@ ROW date1 = TO_DATETIME("2023-12-02T11:00:00.000Z"), date2 = TO_DATETIME("2023-1 }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.date_extract', { defaultMessage: 'DATE_EXTRACT', } @@ -1261,7 +1261,7 @@ ROW date = DATE_PARSE("yyyy-MM-dd", "2022-05-06") }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.date_format', { defaultMessage: 'DATE_FORMAT', } @@ -1294,7 +1294,7 @@ FROM employees }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.date_parse', { defaultMessage: 'DATE_PARSE', } @@ -1326,7 +1326,7 @@ ROW date_string = "2022-05-06" }, { label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', + 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.date_trunc', { defaultMessage: 'DATE_TRUNC', } @@ -1358,12 +1358,9 @@ FROM employees ), }, { - label: i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction', - { - defaultMessage: 'E', - } - ), + label: i18n.translate('textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.e', { + defaultMessage: 'E', + }), description: ( = \"1985-01-01T00:00:00Z\" AND hire_date < \"1986-01-01T00:00:00Z\"\n| EVAL bucket = AUTO_BUCKET(hire_date, 20, \"1985-01-01T00:00:00Z\", \"1986-01-01T00:00:00Z\")\n| STATS AVG(salary) BY bucket\n| SORT bucket\n```\n\nRenvoi :\n```\n46305.0 | 1985-02-01T00:00:00.000Z\n44817.0 | 1985-05-01T00:00:00.000Z\n62405.0 | 1985-07-01T00:00:00.000Z\n49095.0 | 1985-09-01T00:00:00.000Z\n51532.0 | 1985-10-01T00:00:00.000Z\n54539.75 | 1985-11-01T00:00:00.000\n```\n\nREMARQUE : `AUTO_BUCKET` ne crée pas de compartiments qui ne correspondent à aucun document. C'est pourquoi, dans l'exemple ci-dessus, il manque 1985-03-01 ainsi que d'autres dates.\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.avgFunction.markdown": "### AVG\nRenvoie la moyenne d'un champ numérique.\n\n````\nFROM employees\n| STATS AVG(height)\n````\n\nCette expression peut utiliser des fonctions alignées. Par exemple, pour calculer la moyenne sur une colonne multivaluée, il faut d'abord utiliser`MV_AVG` pour faire la moyenne des multiples valeurs par ligne et utiliser le résultat avec la fonction `AVG` :\n\n````\nFROM employees\n| STATS avg_salary_change = AVG(MV_AVG(salary_change))\n````\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.binaryOperators.markdown": "### Opérateurs binaires\nLes opérateurs de comparaison binaire suivants sont pris en charge :\n\n* égalité : `==`\n* inégalité insensible à la casse `=~`\n* inégalité : `!=`\n* inférieur à : `<`\n* inférieur ou égal à : `<=`\n* supérieur à : `>`\n* supérieur ou égal à : `>=`\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.booleanOperators.markdown": "### Opérateurs booléens\nLes opérateurs booléens suivants sont pris en charge :\n\n* `AND`\n* `OR`\n* `NOT`\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.caseFunction.markdown": "### CASE\nAccepte des paires de conditions et de valeurs. La fonction renvoie la valeur correspondant à la première condition évaluée à `true` (vraie). Si le nombre d'arguments est impair, le dernier argument est la valeur par défaut qui est renvoyée si aucune condition ne correspond.\n\n```\nFROM employees\n| EVAL type = CASE(\n languages <= 1, \"monolingual\",\n languages <= 2, \"bilingual\",\n \"polyglot\")\n| KEEP first_name, last_name, type\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.ceilFunction.markdown": "### CEIL\nArrondir un nombre à l'entier supérieur.\n\n```\nROW a=1.8\n| EVAL a=CEIL(a)\n```\n\nRemarque : Il s'agit d'un noop pour `long` (y compris non signé) et `integer`. Pour `double`, la fonction choisit la valeur `double` la plus proche de l'entier, de manière similaire à la méthode `Math.ceil` de Java.\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.cidrMatchFunction.markdown": "### CIDR_MATCH\nRenvoie `true` si l'IP fournie est contenue dans l'un des blocs CIDR fournis. \n\nLa fonction `CIDR_MATCH` accepte deux arguments ou plus. Le premier argument est l'adresse IP de type `ip` (les adresses IPv4 et IPv6 sont prises en charge). Les arguments suivants correspondent aux blocs CIDR pour tester l'adresse IP.\n\n```\nFROM hosts\n| WHERE CIDR_MATCH(ip, \"127.0.0.2/32\", \"127.0.0.3/32\")\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.coalesceFunction.markdown": "### COALESCE\nRenvoie la première valeur non nulle.\n\n```\nROW a=null, b=\"b\"\n| EVAL COALESCE(a, b)\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.concatFunction.markdown": "### CONCAT\nConcatène deux ou plusieurs chaînes.\n\n```\nFROM employees\n| KEEP first_name, last_name, height\n| EVAL fullname = CONCAT(first_name, \" \", last_name)\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.cosFunction.markdown": "### COS\nFonction trigonométrique cosinus.\n\n```\nROW a=1.8\n| EVAL cos=COS(a)\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.coshFunction.markdown": "### COSH\nFonction hyperbolique cosinus.\n\n```\nROW a=1.8\n| EVAL cosh=COSH(a)\n```\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.countDistinctFunction.markdown": "### COUNT_DISTINCT\nDécompte le nombre approximatif de valeurs distinctes.\n\n````\nFROM hosts\n| STATS COUNT_DISTINCT(ip0), COUNT_DISTINCT(ip1)\n```\n\nLa fonction `COUNT_DISTINCT` est approximative, basée sur l'algorithme HyperLogLog++. Pour en savoir plus, consultez la [documentation](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-metrics-cardinality-aggregation.html#_counts_are_approximate). La précision est configurable à l'aide d'un deuxième paramètre facultatif. La valeur maximale compatible est 40000. Les seuils supérieurs à ce nombre auront le même effet qu'un seuil de 40000. La valeur par défaut est 3000.\n\n````\nFROM hosts\n| STATS COUNT_DISTINCT(ip0, 80000), COUNT_DISTINCT(ip1, 5)\n````\n\nCette expression peut utiliser des fonctions alignées. Cet exemple divise une chaîne en plusieurs valeurs à l'aide de la fonction `SPLIT` et compte les valeurs uniques :\n\n````\nROW words=\"foo;bar;baz;qux;quux;foo\"\n| STATS distinct_word_count = COUNT_DISTINCT(SPLIT(words, \";\"))\n````\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.countFunction.markdown": "### COUNT\nRenvoie le nombre total de valeurs en entrée.\n\n````\nFROM employees\n| STATS COUNT(height)\n````\n\nPeut prendre n'importe quel type de champ en entrée.\n\nPour compter le nombre de lignes, utiliser `COUNT()` ou `COUNT(*)` :\n\n````\nFROM employees\n| STATS count = COUNT(*) BY languages\n| SORT languages DESC\n````\n\nCette expression peut utiliser des fonctions alignées. Cet exemple divise une chaîne en plusieurs valeurs à l'aide de la fonction `SPLIT` et compte les valeurs :\n\n````\nROW words=\"foo;bar;baz;qux;quux;foo\"\n| STATS word_count = COUNT(SPLIT(words, \";\"))\n````\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.dateDiffFunction.markdown": "### DATE_DIFF\nSoustrait le `startTimestamp` du `endTimestamp` et renvoie la différence en multiples d'unité. Si `startTimestamp` est postérieur à `endTimestamp`, des valeurs négatives sont renvoyées.\n \n````\nROW date1 = TO_DATETIME(\"2023-12-02T11:00:00.000Z\"), date2 = TO_DATETIME(\"2023-12-02T11:00:00.001Z\")\n| EVAL dd_ms = DATE_DIFF(\"microseconds\", date1, date2)\n````\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.dateExtractFunction.markdown": "### DATE_EXTRACT\nExtrait des parties d'une date, telles que l'année, le mois, le jour, l'heure. Les types de champs pris en charge sont ceux fournis par la fonction `java.time.temporal.ChronoField` de Java.\n\n```\nROW date = DATE_PARSE(\"yyyy-MM-dd\", \"2022-05-06\")\n| EVAL year = DATE_EXTRACT(\"year\", date)\n````\n\nPar exemple, pour trouver tous les événements qui ont eu lieu en dehors des heures de bureau (avant 9 h et après 17 h) à une date donnée :\n\n````\nFROM sample_data\n| WHERE DATE_EXTRACT(\"hour_of_day\", @timestamp) < 9 AND DATE_EXTRACT(\"hour_of_day\", @timestamp) >= 17\n````\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.dateFormatFunction.markdown": "### DATE_FORMAT\nRenvoie une représentation sous forme de chaîne d'une date dans le format fourni. Si aucun format n'est indiqué, le format `yyyy-MM-dd'T'HH:mm:ss.SSSZ` est utilisé.\n\n```\nFROM employees\n| KEEP first_name, last_name, hire_date\n| EVAL hired = DATE_FORMAT(\"YYYY-MM-dd\", hire_date)\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.dateParseFunction.markdown": "### DATE_PARSE\nRenvoie une date en analysant le deuxième argument selon le format spécifié dans le premier argument. Si aucun format n'est indiqué, le format `yyyy-MM-dd'T'HH:mm:ss.SSSZ` est utilisé.\nVeuillez vous référer à la documentation [`DateTimeFormatter` ](https://docs.oracle.com/en/java/javase/14/docs/api/java.base/java/time/format/DateTimeFormatter.html) pour la syntaxe.\n````\nROW date_string = \"2022-05-06\"\n| EVAL date = DATE_PARSE(\"yyyy-MM-dd\", date_string)\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.dateTruncFunction.markdown": "### DATE_TRUNC\nArrondit une date à l'intervalle le plus proche.\n\n```\nFROM employees\n| EVAL year_hired = DATE_TRUNC(1 year, hire_date)\n| STATS count(emp_no) BY year_hired\n| SORT year_hired\n```\n\nLes intervalles peuvent être exprimés à l'aide de la syntaxe littérale timespan. Les littéraux au format timespan sont représentés par une combinaison d'un nombre et d'un qualificatif. Les qualificatifs suivants sont pris en charge :\n\n* `millisecond`/`milliseconds`\n* `second`/`seconds`\n* `minute`/`minutes`\n* `hour`/`hours`\n* `day`/`days`\n* `week`/`weeks`\n* `month`/`months`\n* `year`/`years`\n\nLes littéraux au format timespan ne sont pas sensibles à l'espacement. Les expressions suivantes sont toutes valides :\n\n* `1day`\n* `1 day`\n* `1 day`\n\nCombiner `DATE_TRUNC` avec `STATS ... BY` pour créer des histogrammes des dates. Par exemple, pour renvoyer le nombre d'embauches par an :\n\n````\nFROM employees\n| EVAL year = DATE_TRUNC(1 year, hire_date)\n| STATS hires = COUNT(emp_no) BY year\n| SORT year\n````\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.dissect.markdown": "### DISSECT\n`DISSECT` vous permet d'extraire des données structurées d'une chaîne. `DISSECT` compare la chaîne à un modèle basé sur les délimiteurs, et extrait les clés indiquées en tant que colonnes.\n\nPour obtenir la syntaxe des modèles \"dissect\", consultez [la documentation relative au processeur \"dissect\"](https://www.elastic.co/guide/en/elasticsearch/reference/current/dissect-processor.html).\n\n```\nROW a = \"1953-01-23T12:15:00Z - some text - 127.0.0.1\"\n| DISSECT a \"%\\{Y\\}-%\\{M\\}-%\\{D\\}T%\\{h\\}:%\\{m\\}:%\\{s\\}Z - %\\{msg\\} - %\\{ip\\}\"\n```\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.drop.markdown": "### DROP\nAfin de supprimer certaines colonnes d'un tableau, utilisez `DROP` :\n \n```\nFROM employees\n| DROP height\n```\n\nPlutôt que de spécifier chaque colonne par son nom, vous pouvez utiliser des caractères génériques pour supprimer toutes les colonnes dont le nom correspond à un modèle :\n\n```\nFROM employees\n| DROP height*\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.eFunction.markdown": "### E\nNombre d'Euler.\n\n```\nROW E()\n````\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.endsWithFunction.markdown": "### ENDS_WITH\nRenvoie un booléen qui indique si une chaîne de mots-clés débute par une autre chaîne :\n\n````\nFROM employees\n| KEEP last_name\n| EVAL ln_E = ENDS_WITH(last_name, \"d\")\n````\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.enrich.markdown": "### ENRICH\nVous pouvez utiliser `ENRICH` pour ajouter les données de vos index existants aux enregistrements entrants. Une fonction similaire à l'[enrichissement par ingestion](https://www.elastic.co/guide/en/elasticsearch/reference/current/ingest-enriching-data.html), mais qui fonctionne au moment de la requête.\n\n```\nROW language_code = \"1\"\n| ENRICH languages_policy\n```\n\n`ENRICH` requiert l'exécution d'une [politique d'enrichissement](https://www.elastic.co/guide/en/elasticsearch/reference/current/ingest-enriching-data.html#enrich-policy). La politique d'enrichissement définit un champ de correspondance (un champ clé) et un ensemble de champs d'enrichissement.\n\n`ENRICH` recherche les enregistrements dans l'[index d'enrichissement](https://www.elastic.co/guide/en/elasticsearch/reference/current/ingest-enriching-data.html#enrich-index) en se basant sur la valeur du champ de correspondance. La clé de correspondance dans l'ensemble de données d'entrée peut être définie en utilisant `ON `. Si elle n'est pas spécifiée, la correspondance sera effectuée sur un champ portant le même nom que le champ de correspondance défini dans la politique d'enrichissement.\n\n```\nROW a = \"1\"\n| ENRICH languages_policy ON a\n```\n\nVous pouvez indiquer quels attributs (parmi ceux définis comme champs d'enrichissement dans la politique) doivent être ajoutés au résultat, en utilisant la syntaxe `WITH , ...`.\n\n```\nROW a = \"1\"\n| ENRICH languages_policy ON a WITH language_name\n```\n\nLes attributs peuvent également être renommés à l'aide de la syntaxe `WITH new_name=`\n\n```\nROW a = \"1\"\n| ENRICH languages_policy ON a WITH name = language_name\n````\n\nPar défaut (si aucun `WITH` n'est défini), `ENRICH` ajoute au résultat tous les champs d'enrichissement définis dans la politique d'enrichissement.\n\nEn cas de collision de noms, les champs nouvellement créés remplacent les champs existants.\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.eval.markdown": "### EVAL\n`EVAL` permet d'ajouter des colonnes :\n\n````\nFROM employees\n| KEEP first_name, last_name, height\n| EVAL height_feet = height * 3.281, height_cm = height * 100\n````\n\nSi la colonne indiquée existe déjà, la colonne existante sera supprimée et la nouvelle colonne sera ajoutée au tableau :\n\n````\nFROM employees\n| KEEP first_name, last_name, height\n| EVAL height = height * 3.281\n````\n\n#### Fonctions\n`EVAL` prend en charge diverses fonctions de calcul des valeurs. Pour en savoir plus, consultez les fonctions.\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.floorFunction.markdown": "### FLOOR\nArrondir un nombre à l'entier inférieur.\n\n````\nROW a=1.8\n| EVAL a=FLOOR(a)\n````\n\nIl s'agit d'un noop pour `long` (y compris non connecté) et `integer`. Pour `double`, la fonction choisit la valeur `double` la plus proche de l'entier, de manière similaire à la méthode `Math.floor` de Java.\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.from.markdown": "### FROM\nLa commande source `FROM` renvoie un tableau contenant jusqu'à 10 000 documents issus d'un flux de données, d'un index ou d'un alias. Chaque ligne du tableau obtenu correspond à un document. Chaque colonne correspond à un champ et est accessible par le nom de ce champ.\n\n````\nFROM employees\n````\n\nVous pouvez utiliser des [calculs impliquant des dates](https://www.elastic.co/guide/en/elasticsearch/reference/current/api-conventions.html#api-date-math-index-names) pour désigner les indices, les alias et les flux de données. Cela peut s'avérer utile pour les données temporelles.\n\nUtilisez des listes séparées par des virgules ou des caractères génériques pour rechercher plusieurs flux de données, indices ou alias :\n\n````\nFROM employees-00001,employees-*\n````\n\n#### Métadonnées\n\nES|QL peut accéder aux champs de métadonnées suivants :\n\n* `_index` : l'index auquel appartient le document. Le champ est du type `keyword`.\n* `_id` : l'identifiant du document source. Le champ est du type `keyword`.\n* `_id` : la version du document source. Le champ est du type `long`.\n\nUtilisez la directive `METADATA` pour activer les champs de métadonnées :\n\n````\nFROM index [METADATA _index, _id]\n````\n\nLes champs de métadonnées ne sont disponibles que si la source des données est un index. Par conséquent, `FROM` est la seule commande source qui prend en charge la directive `METADATA`.\n\nUne fois activés, les champs sont disponibles pour les commandes de traitement suivantes, tout comme les autres champs de l'index :\n\n````\nFROM ul_logs, apps [METADATA _index, _version]\n| WHERE id IN (13, 14) AND _version == 1\n| EVAL key = CONCAT(_index, \"_\", TO_STR(id))\n| SORT id, _index\n| KEEP id, _index, _version, key\n````\n\nDe même, comme pour les champs d'index, une fois l'agrégation effectuée, un champ de métadonnées ne sera plus accessible aux commandes suivantes, sauf s'il est utilisé comme champ de regroupement :\n\n````\nFROM employees [METADATA _index, _id]\n| STATS max = MAX(emp_no) BY _index\n````\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.greatestFunction.markdown": "### GREATEST\nRenvoie la valeur maximale de plusieurs colonnes. Cette fonction est similaire à `MV_MAX`. Toutefois, elle est destinée à être exécutée sur plusieurs colonnes à la fois.\n\n````\nROW a = 10, b = 20\n| EVAL g = GREATEST(a, b);\n````\n\nRemarque : lorsque cette fonction est exécutée sur les champs `keyword` ou `text`, elle renvoie la dernière chaîne dans l'ordre alphabétique. Lorsqu'elle est exécutée sur des colonnes `boolean`, elle renvoie `true` si l'une des valeurs l'est.\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.grok.markdown": "### GROK\n`GROK` vous permet d'extraire des données structurées d'une chaîne. `GROK` compare la chaîne à des modèles, sur la base d’expressions régulières, et extrait les modèles indiqués en tant que colonnes.\n\nPour obtenir la syntaxe des modèles \"grok\", consultez [la documentation relative au processeur \"grok\"](https://www.elastic.co/guide/en/elasticsearch/reference/current/grok-processor.html).\n\n````\nROW a = \"12 15.5 15.6 true\"\n| GROK a \"%\\{NUMBER:b:int\\} %\\{NUMBER:c:float\\} %\\{NUMBER:d:double\\} %\\{WORD:e:boolean\\}\"\n````\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.inOperator.markdown": "### IN\nL'opérateur `IN` permet de tester si un champ ou une expression est égal à un élément d'une liste de littéraux, de champs ou d'expressions :\n\n````\nROW a = 1, b = 4, c = 3\n| WHERE c-a IN (3, b / 2, a)\n````\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.keep.markdown": "### KEEP\nLa commande `KEEP` permet de définir les colonnes qui seront renvoyées et l'ordre dans lequel elles le seront.\n\nPour limiter les colonnes retournées, utilisez une liste de noms de colonnes séparés par des virgules. Les colonnes sont renvoyées dans l'ordre indiqué :\n \n````\nFROM employees\n| KEEP first_name, last_name, height\n````\n\nPlutôt que de spécifier chaque colonne par son nom, vous pouvez utiliser des caractères génériques pour renvoyer toutes les colonnes dont le nom correspond à un modèle :\n\n````\nFROM employees\n| KEEP h*\n````\n\nLe caractère générique de l'astérisque (\"*\") placé de manière isolée transpose l'ensemble des colonnes qui ne correspondent pas aux autres arguments. La requête suivante renverra en premier lieu toutes les colonnes dont le nom commence par un h, puis toutes les autres colonnes :\n\n````\nFROM employees\n| KEEP h*, *\n````\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.leastFunction.markdown": "### LEAST\nRenvoie la valeur minimale de plusieurs colonnes. Cette fonction est similaire à `MV_MIN`. Toutefois, elle est destinée à être exécutée sur plusieurs colonnes à la fois.\n\n````\nROW a = 10, b = 20\n| EVAL l = LEAST(a, b)\n````\n\nRemarque : lorsque cette fonction est exécutée sur les champs `keyword` ou `text`, elle renvoie la première chaîne dans l'ordre alphabétique. Lorsqu'elle est exécutée sur des colonnes `boolean`, elle renvoie `false` si l'une des valeurs l'est.\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.leftFunction.markdown": "### LEFT\nRenvoie la sous-chaîne qui extrait la longueur des caractères de la chaîne en partant de la gauche.\n\n````\nFROM employees\n| KEEP last_name\n| EVAL left = LEFT(last_name, 3)\n| SORT last_name ASC\n| LIMIT 5\n````\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.lengthFunction.markdown": "### LENGTH\nRenvoie la longueur des caractères d'une chaîne.\n\n````\nFROM employees\n| KEEP first_name, last_name, height\n| EVAL fn_length = LENGTH(first_name)\n````\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.limit.markdown": "### LIMIT\nLa commande de traitement `LIMIT` permet de restreindre le nombre de lignes :\n \n````\nFROM employees\n| LIMIT 5\n````\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.log10Function.markdown": "### LOG10\nRenvoie le log de base 10. La valeur de renvoi est toujours un double, quelle que soit la valeur numérique de l'entrée.\n\nLes logs des nombres négatifs affichent une valeur NaN. Les logs des infinis et de 0 sont infinis.\n\n````\nROW d = 1000.0\n| EVAL s = LOG10(d)\n````\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.ltrimFunction.markdown": "### LTRIM\nRetire les espaces au début des chaînes.\n\n````\nROW message = \" some text \", color = \" red \"\n| EVAL message = LTRIM(message)\n| EVAL color = LTRIM(color)\n| EVAL message = CONCAT(\"'\", message, \"'\")\n| EVAL color = CONCAT(\"'\", color, \"'\")\n````\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.markdown": "## ES|QL\n\nUne requête ES|QL (langage de requête Elasticsearch) se compose d'une série de commandes, séparées par une barre verticale : `|`. Chaque requête commence par une **commande source**, qui produit un tableau, habituellement avec des données issues d'Elasticsearch. \n\nUne commande source peut être suivie d'une ou plusieurs **commandes de traitement**. Les commandes de traitement peuvent modifier le tableau de sortie de la commande précédente en ajoutant, supprimant ou modifiant les lignes et les colonnes.\n\n````\nsource-command\n| processing-command1\n| processing-command2\n````\n\nLe résultat d'une requête est le tableau produit par la dernière commande de traitement. \n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.maxFunction.markdown": "### MAX\nRenvoie la valeur maximale d'une expression numérique.\n\n````\nFROM employees\n| STATS MAX(languages)\n````\n\nCette expression peut utiliser des fonctions alignées. Par exemple, pour calculer le maximum sur une moyenne d'une colonne multivaluée, il faut utiliser `MV_AVG` pour faire la moyenne des multiples valeurs par ligne et utiliser le résultat avec la fonction `MAX` :\n\n````\nFROM employees\n| STATS max_avg_salary_change = MAX(MV_AVG(salary_change))\n````\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.medianAbsoluteDeviationFunction.markdown": "### MEDIAN_ABSOLUTE_DEVIATION\nRenvoie l'écart absolu médian, une mesure de la variabilité. Il s'agit d'un indicateur robuste, ce qui signifie qu'il est utile pour décrire des données qui peuvent présenter des valeurs aberrantes ou ne pas être normalement distribuées. Pour de telles données, il peut être plus descriptif que l'écart-type.\n\nIl est calculé comme la médiane de chaque écart de point de données par rapport à la médiane de l'ensemble de l'échantillon. Autrement dit, pour une variable aléatoire X, l'écart absolu médian est `median(|median(X) - X|)`.\n\n````\nFROM employees\n| STATS MEDIAN(salary), MEDIAN_ABSOLUTE_DEVIATION(salary)\n````\n\nREMARQUE : Comme la fonction `PERCENTILE`, la fonction `MEDIAN_ABSOLUTE_DEVIATION` est généralement approximative, et basée sur l'algorithme TDigest. Elle est également non déterministe. Cela signifie que vous pouvez obtenir des résultats légèrement différents en utilisant les mêmes données.\n\nCette expression peut utiliser des fonctions alignées. Par exemple, pour calculer l'écart absolu médian des valeurs maximales d'une colonne multivaluée, il faut d'abord utiliser `MV_MAX` pour obtenir la valeur maximale par ligne, et utiliser le résultat avec la fonction `MEDIAN_ABSOLUTE_DEVIATION` :\n\n````\nFROM employees\n| STATS m_a_d_max_salary_change = MEDIAN_ABSOLUTE_DEVIATION(MV_MAX(salary_change))\n````\n\n", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.medianFunction.markdown": "### MEDIAN\nRenvoie la valeur qui est supérieure à la moitié de toutes les valeurs et inférieure à la moitié de toutes les valeurs, également connue sous le nom de `PERCENTILE` 50 %.\n\n**REMARQUE :** Comme la fonction `PERCENTILE`, la fonction `MEDIAN` est généralement approximative et basée sur l'algorithme TDigest.\n\n**AVERTISSEMENT :** `MEDIAN` est également [non déterministe](https://en.wikipedia.org/wiki/Nondeterministic_algorithm). Cela signifie que vous pouvez obtenir des résultats légèrement différents en utilisant les mêmes données.\n\nExemple :\n\n````\nFROM employees\n| STATS MEDIAN(salary), PERCENTILE(salary, 50)\n````\n\nCette expression peut utiliser des fonctions alignées. Par exemple, pour calculer le médian des valeurs maximales d'une colonne multivaluée, il faut d'abord utiliser `MV_MAX` pour obtenir la valeur maximale par ligne et utiliser le résultat avec la fonction `MEDIAN` :\n\n````\nFROM employees\n| STATS median_max_salary_change = MEDIAN(MV_MAX(salary_change))\n````\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.minFunction.markdown": "### MIN\nRenvoie la valeur minimale d'un champ numérique.\n\n````\nFROM employees\n| STATS MIN(languages)\n````\n\nCette expression peut utiliser des fonctions alignées. Par exemple, pour calculer le minimum sur une moyenne d'une colonne multivaluée, il faut utiliser `MV_AVG` pour faire la moyenne des valeurs multiples par ligne et utiliser le résultat avec la fonction `MIN` :\n\n````\nFROM employees\n| STATS min_avg_salary_change = MIN(MV_AVG(salary_change))\n````\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvAvgFunction.markdown": "### MV_AVG\nConvertit un champ multivalué en un champ à valeur unique comprenant la moyenne de toutes les valeurs. Par exemple :\n\n````\nROW a=[3, 5, 1, 6]\n| EVAL avg_a = MV_AVG(a)\n````\n\nRenvoi :\n\n````\n[3, 5, 1, 6] | 3.75\n````\n\nREMARQUE : Le type de sortie est toujours un double et le type d'entrée peut être n'importe quel nombre.\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvConcatFunction.markdown": "### MV_CONCAT\nConvertit un champ de type chaîne multivalué en un champ à valeur unique comprenant la concaténation de toutes les valeurs séparées par un délimiteur :\n\n````\nROW a=[\"foo\", \"zoo\", \"bar\"]\n| EVAL j = MV_CONCAT(a, \", \")\n````\n\nRenvoi :\n\n````\n[\"foo\", \"zoo\", \"bar\"] | \"foo, zoo, bar\"\n````\n\nSi vous voulez lier des champs qui ne sont pas des chaînes, appelez en premier lieu `TO_STRING` sur ces champs :\n\n````\nROW a=[10, 9, 8]\n| EVAL j = MV_CONCAT(TO_STRING(a), \", \")\n````\n\nRenvoi :\n\n````\n[10, 9, 8] | \"10, 9, 8\"\n````\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvCountFunction.markdown": "### MV_COUNT\nConvertit un champ multivalué en un champ à valeur unique comprenant un décompte du nombre de valeurs :\n\n````\nROW a=[\"foo\", \"zoo\", \"bar\"]\n| EVAL count_a = MV_COUNT(a)\n````\n\nRenvoi :\n\n````\n[\"foo\", \"zoo\", \"bar\"] | 3\n````\n\nREMARQUE : Cette fonction accepte tous les types de valeurs et renvoie toujours un nombre entier.\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvDedupeFunction.markdown": "### MV_DEDUPE\nSupprime les doublons d'un champ multivalué. Par exemple :\n\n````\nROW a=[\"foo\", \"foo\", \"bar\", \"foo\"]\n| EVAL dedupe_a = MV_DEDUPE(a)\n````\n\nRenvoi :\n\n````\n[\"foo\", \"foo\", \"bar\", \"foo\"] | [\"foo\", \"bar\"]\n````\n\nREMARQUE : la fonction `MV_DEDUPE` est en mesure de trier les valeurs du champ, mais ne le fait pas systématiquement.\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvExpand.markdown": "### MV_EXPAND\nLa commande de traitement `MV_EXPAND` développe les champs multivalués en indiquant une valeur par ligne et en dupliquant les autres champs : \n````\nROW a=[1,2,3], b=\"b\", j=[\"a\",\"b\"]\n| MV_EXPAND a\n````\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvFirstFunction.markdown": "### MV_FIRST\nConvertit un champ multivalué en un champ à valeur unique contenant la première valeur. Ceci est particulièrement utile pour lire une fonction qui émet des champs multivalués dans un ordre connu, comme `SPLIT`.\n\nPar exemple :\n\n````\nROW a=\"foo;bar;baz\" \n| EVAL first_a = MV_FIRST(SPLIT(a, \";\"))\n````\n\nRenvoi :\n\n````\nfoo;bar;baz | foo\n````\n\nL'ordre dans lequel [les champs multivalués](https://www.elastic.co/guide/en/elasticsearch/reference/current/esql-multivalued-fields.html) sont lus à partir du stockage sous-jacent n'est pas garanti. Il est souvent ascendant, mais ne vous y fiez pas. Si vous avez besoin de la valeur minimale d'un champ, utilisez `MV_MIN` au lieu de `MV_FIRST`. `MV_MIN` a des optimisations pour les valeurs triées, donc il n'y a pas d'avantage de performance à utiliser `MV_FIRST`. `MV_FIRST` est surtout utile avec les fonctions qui créent des champs multivalués comme `SPLIT`.\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvLastFunction.markdown": "### MV_LAST\nConvertit un champ multivalué en un champ à valeur unique comprenant la dernière valeur. Ceci est particulièrement utile pour lire une fonction qui émet des champs multivalués dans un ordre connu, comme `SPLIT` :\n \n````\nROW a=\"foo;bar;baz\" \n| EVAL first_a = MV_FIRST(SPLIT(a, \";\"))\n````\n\nRenvoi :\n\n````\nfoo;bar;baz | baz\n````\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvMaxFunction.markdown": "### MV_MAX\nConvertit un champ multivalué en un champ à valeur unique comprenant la valeur maximale. Par exemple :\n\n````\nROW a=[3, 5, 1]\n| EVAL max_a = MV_MAX(a)\n````\n\nRenvoi :\n\n````\n[3, 5, 1] | 5\n````\n\nElle peut être utilisée par n'importe quel type de champ, y compris les champs de type `keyword`. Dans ce cas, elle choisit la dernière chaîne, en comparant leur représentation utf-8 octet par octet :\n\n````\nROW a=[\"foo\", \"zoo\", \"bar\"]\n| EVAL max_a = MV_MAX(a)\n````\n\nRenvoi :\n\n````\n[\"foo\", \"zoo\", \"bar\"] | \"zoo\"\n````\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvMedianFunction.markdown": "### MV_MEDIAN\nConvertit un champ multivalué en un champ à valeur unique comprenant la valeur médiane. Par exemple :\n\n````\nROW a=[3, 5, 1]\n| EVAL median_a = MV_MEDIAN(a)\n````\n\nRenvoi :\n\n````\n[3, 5, 1] | 3\n````\n\nElle peut être utilisée par n'importe quel type de champ numérique et renvoie une valeur du même type. Si la ligne comprend un nombre pair de valeurs pour une colonne, le résultat sera la moyenne des deux entrées du milieu. Si le champ n'inclut pas une valeur en virgule flottante, la moyenne est arrondie à la valeur **inférieure** :\n\n````\nROW a=[3, 7, 1, 6]\n| EVAL median_a = MV_MEDIAN(a)\n````\n\nRenvoi :\n\n````\n[3, 7, 1, 6] | 4\n````\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvMinFunction.markdown": "### MV_MIN\nConvertit un champ multivalué en un champ à valeur unique comprenant la valeur minimale. Par exemple :\n\n````\nROW a=[2, 1]\n| EVAL min_a = MV_MIN(a)\n````\n\nRenvoi :\n\n````\n[2, 1] | 1\n````\n\nElle peut être utilisée par n'importe quel type de champ, y compris les champs de type `keyword`. Dans ce cas, elle choisit la dernière chaîne, en comparant leur représentation utf-8 octet par octet :\n\n````\nROW a=[\"foo\", \"bar\"]\n| EVAL min_a = MV_MIN(a)\n````\n\nRenvoi :\n\n````\n[\"foo\", \"bar\"] | \"bar\"\n````\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvSumFunction.markdown": "### MV_SUM\nConvertit un champ multivalué en un champ à valeur unique comprenant la somme de toutes les valeurs. Par exemple :\n````\nROW a=[3, 5, 6]\n| EVAL sum_a = MV_SUM(a)\n````\n\nRenvoi :\n\n````\n[3, 5, 6] | 14\n````\n\nREMARQUE : Le type d'entrée peut être n'importe quel nombre et le type de sortie est identique au type d'entrée.\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.nowFunction.markdown": "### NOW\nRenvoie la date et l'heure actuelles.\n\n````\nROW current_date = NOW()\n````\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.percentileFunction.markdown": "### PERCENTILE\nValeur à laquelle un certain pourcentage des valeurs observées se produit. Par exemple, le 95e percentile est la valeur qui est supérieure à 95 % des valeurs observées et le 50percentile est la médiane (`MEDIAN`).\n\n````\nFROM employees\n| STATS p0 = PERCENTILE(salary, 0)\n , p50 = PERCENTILE(salary, 50)\n , p99 = PERCENTILE(salary, 99)\n````\n\n**REMARQUE** : La fonction `PERCENTILE` est généralement approximative et basée sur l'algorithme TDigest. \n\n**AVERTISSEMENT :** `PERCENTILE` est aussi [non déterministe](https://en.wikipedia.org/wiki/Nondeterministic_algorithm). Cela signifie que vous pouvez obtenir des résultats légèrement différents en utilisant les mêmes données.\n\nCette expression peut utiliser des fonctions alignées. Par exemple, pour calculer un percentile des valeurs maximales d'une colonne multivaluée, il faut d'abord utiliser `MV_MAX` pour obtenir la valeur maximale par ligne et utiliser le résultat avec la fonction `PERCENTILE` :\n\n````\nFROM employees\n| STATS p80_max_salary_change = PERCENTILE(MV_MAX(salary_change), 80)\n````\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.piFunction.markdown": "### PI\nRapport entre la circonférence et le diamètre d'un cercle.\n\n````\nROW PI()\n````\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.powFunction.markdown": "### POW\nRenvoie la valeur d'une base (premier argument) élevée à la puissance d'un exposant (deuxième argument). Les deux arguments doivent être numériques. La sortie est toujours un double. Veuillez noter qu'il est toujours possible de dépasser un résultat double ici ; dans ce cas, la valeur `null` sera renvoyée.\n\n````\nROW base = 2.0, exponent = 2.0 \n| EVAL s = POW(base, exponent)\n````\n\n#### Exposants fractionnaires\n\nL'exposant peut être un nombre fractionnaire, ce qui revient à effectuer une racine. Par exemple, l'exposant de 0,5 donnera la racine carrée de la base :\n\n````\nROW base = 4, exponent = 0.5\n| EVAL s = POW(base, exponent)\n````\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.predicates.markdown": "### Valeurs NULL\nPour une comparaison avec une valeur NULL, utilisez les attributs `IS NULL` et `IS NOT NULL` :\n\n````\nFROM employees\n| WHERE birth_date IS NULL\n| KEEP first_name, last_name\n| SORT first_name\n| LIMIT 3\n````\n\n````\nFROM employees\n| WHERE is_rehired IS NOT NULL\n| STATS count(emp_no)\n````\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.rename.markdown": "### RENAME\nUtilisez `RENAME` pour renommer une colonne en utilisant la syntaxe suivante :\n\n````\nRENAME AS \n````\n\nPar exemple :\n\n````\nFROM employees\n| KEEP first_name, last_name, still_hired\n| RENAME still_hired AS employed\n````\n\nSi une colonne portant le nouveau nom existe déjà, elle sera remplacée par la nouvelle colonne.\n\nPlusieurs colonnes peuvent être renommées à l'aide d'une seule commande `RENAME` :\n\n````\nFROM employees\n| KEEP first_name, last_name\n| RENAME first_name AS fn, last_name AS ln\n````\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.rightFunction.markdown": "### RIGHT\nRenvoie la sous-chaîne qui extrait la longueur (`length`) des caractères de la chaîne en partant de la droite (`right`).\n\n````\nFROM employees\n| KEEP last_name\n| EVAL right = RIGHT(last_name, 3)\n| SORT last_name ASC\n| LIMIT 5\n````\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.roundFunction.markdown": "### ROUND\nArrondit un nombre à un certain nombre de décimales spécifié. Si le nombre de décimales n'est pas spécifié, la fonction arrondit par défaut au nombre entier le plus proche. Si le nombre de décimales spécifié est négatif, la fonction arrondit au nombre de décimales à gauche de la virgule.\n\n````\nFROM employees\n| KEEP first_name, last_name, height\n| EVAL height = ROUND(height * 3.281, 1)\n````\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.row.markdown": "### ROW\nLa commande source `ROW` renvoie une ligne contenant une ou plusieurs colonnes avec les valeurs que vous spécifiez. Cette commande peut s'avérer utile pour les tests.\n \n````\nROW a = 1, b = \"two\", c = null\n````\n\nUtilisez des crochets pour créer des colonnes à valeurs multiples :\n\n````\nROW a = [2, 1]\n````\n\nROW permet d'utiliser des fonctions :\n\n````\nROW a = ROUND(1.23, 0)\n````\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.rtrimFunction.markdown": "### RTRIM\nSupprime les espaces à la fin des chaînes.\n\n````\nROW message = \" some text \", color = \" red \"\n| EVAL message = RTRIM(message)\n| EVAL color = RTRIM(color)\n| EVAL message = CONCAT(\"'\", message, \"'\")\n| EVAL color = CONCAT(\"'\", color, \"'\")\n````\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.show.markdown": "### SHOW\nLa commande source `SHOW ` renvoie des informations sur le déploiement et ses capacités :\n\n* Utilisez `SHOW INFO` pour renvoyer la version du déploiement, la date de compilation et le hachage.\n* Utilisez `SHOW FUNCTIONS` pour renvoyer une liste de toutes les fonctions prises en charge et un résumé de chaque fonction.\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.sinFunction.markdown": "### SIN\nFonction trigonométrique sinus.\n\n````\nROW a=1.8\n| EVAL sin=SIN(a)\n````\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.sinhFunction.markdown": "### SINH\nFonction hyperbolique sinus.\n\n````\nROW a=1.8\n| EVAL sinh=SINH(a)\n````\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.sort.markdown": "### SORT\nUtilisez la commande `SORT` pour trier les lignes sur un ou plusieurs champs :\n\n````\nFROM employees\n| KEEP first_name, last_name, height\n| SORT height\n````\n\nL'ordre de tri par défaut est croissant. Définissez un ordre de tri explicite en utilisant `ASC` ou `DESC` :\n\n````\nFROM employees\n| KEEP first_name, last_name, height\n| SORT height DESC\n````\n\nSi deux lignes disposent de la même clé de tri, l'ordre original sera préservé. Vous pouvez ajouter des expressions de tri pour départager les deux lignes :\n\n````\nFROM employees\n| KEEP first_name, last_name, height\n| SORT height DESC, first_name ASC\n````\n\n#### valeurs `null`\nPar défaut, les valeurs `null` sont considérées comme étant supérieures à toutes les autres valeurs. Selon un ordre de tri croissant, les valeurs `null` sont classées en dernier. Selon un ordre de tri décroissant, les valeurs `null` sont classées en premier. Pour modifier cet ordre, utilisez `NULLS FIRST` ou `NULLS LAST` :\n\n````\nFROM employees\n| KEEP first_name, last_name, height\n| SORT first_name ASC NULLS FIRST\n````\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.splitFunction.markdown": "### SPLIT\nDivise une chaîne de valeur unique en plusieurs chaînes. Par exemple :\n\n````\nROW words=\"foo;bar;baz;qux;quux;corge\"\n| EVAL word = SPLIT(words, \";\")\n````\n\nQui divise `\"foo;bar;baz;qux;quux;corge\"` sur `;` et renvoie un tableau :\n\n````\nfoo;bar;baz;qux;quux;corge | [foo,bar,baz,qux,quux,corge]\n````\n\nREMARQUE : Seuls les délimiteurs d'un seul octet sont actuellement pris en charge.\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.sqrtFunction.markdown": "### SQRT\nRenvoie la racine carrée d'un nombre. La valeur de renvoi est toujours un double, quelle que soit la valeur numérique de l'entrée.\n\nLes racines carrées des nombres négatifs affichent une valeur NaN. La racine carrée de l'infini est égale à l'infini.\n\n````\nROW d = 100.0\n| EVAL s = SQRT(d)\n````\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.startsWithFunction.markdown": "### STARTS_WITH\nRenvoie un booléen qui indique si une chaîne de mots-clés débute par une autre chaîne :\n\n````\nFROM employees\n| KEEP first_name, last_name, height\n| EVAL ln_S = STARTS_WITH(last_name, \"S\")\n````\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.statsby.markdown": "### STATS ... BY\nUtilisez `STATS ... BY` pour regrouper les lignes en fonction d'une valeur commune et calculer une ou plusieurs valeurs agrégées sur les lignes regroupées.\n\n**Exemples** :\n\n````\nFROM employees\n| STATS count = COUNT(emp_no) BY languages\n| SORT languages\n````\n\nSi `BY` est omis, le tableau de sortie contient exactement une ligne avec les agrégations appliquées sur l'ensemble des données :\n\n````\nFROM employees\n| STATS avg_lang = AVG(languages)\n````\n\nIl est possible de calculer plusieurs valeurs :\n\n````\nFROM employees\n| STATS avg_lang = AVG(languages), max_lang = MAX(languages)\n````\n\nIl est également possible d'effectuer des regroupements en fonction de plusieurs valeurs (uniquement pour les champs longs et les champs de la famille de mots-clés) :\n\n````\nFROM employees\n| EVAL hired = DATE_FORMAT(hire_date, \"YYYY\")\n| STATS avg_salary = AVG(salary) BY hired, languages.long\n| EVAL avg_salary = ROUND(avg_salary)\n| SORT hired, languages.long\n````\n\nConsultez la rubrique **Fonctions d'agrégation** pour obtenir la liste des fonctions pouvant être utilisées avec `STATS ... BY`.\n\nLes fonctions d'agrégation et les expressions de regroupement acceptent toutes deux d'autres fonctions. Ceci est utile pour utiliser `STATS...BY` sur des colonnes à valeur multiple. Par exemple, pour calculer l'évolution moyenne du salaire, vous pouvez utiliser `MV_AVG` pour faire la moyenne des multiples valeurs par employé, et utiliser le résultat avec la fonction `AVG` :\n\n````\nFROM employees\n| STATS avg_salary_change = AVG(MV_AVG(salary_change))\n````\n\nLe regroupement par expression est par exemple le regroupement des employés en fonction de la première lettre de leur nom de famille :\n\n````\nFROM employees\n| STATS my_count = COUNT() BY LEFT(last_name, 1)\n| SORT \"LEFT(last_name, 1)\"\n````\n\nIl n'est pas obligatoire d'indiquer le nom de la colonne de sortie. S'il n'est pas spécifié, le nouveau nom de la colonne est égal à l'expression. La requête suivante renvoie une colonne appelée `AVG(salary)` :\n\n````\nFROM employees\n| STATS AVG(salary)\n````\n\nComme ce nom contient des caractères spéciaux, il doit être placé entre deux caractères (`) lorsqu'il est utilisé dans des commandes suivantes :\n\n````\nFROM employees\n| STATS AVG(salary)\n| EVAL avg_salary_rounded = ROUND(\"AVG(salary)\")\n````\n\n**Remarque** : `STATS` sans aucun groupe est beaucoup plus rapide que l'ajout d'un groupe.\n\n**Remarque** : Le regroupement sur une seule expression est actuellement beaucoup plus optimisé que le regroupement sur plusieurs expressions.\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.stCentroidFunction.markdown": "### ST_CENTROID\nCalcule le centroïde spatial sur un champ avec un type de géométrie de point spatial.\n\n````\nAéroports FROM\n| STATS centroid=ST_CENTROID(location)\n````\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.stringOperators.markdown": "### LIKE et RLIKE\nPour comparer des chaînes en utilisant des caractères génériques ou des expressions régulières, utilisez `LIKE` ou `RLIKE` :\n\nUtilisez `LIKE` pour faire correspondre des chaînes à l'aide de caractères génériques. Les caractères génériques suivants sont pris en charge :\n\n* `*` correspond à zéro caractère ou plus.\n* `?` correspond à un seul caractère.\n\n````\nFROM employees\n| WHERE first_name LIKE \"?b*\"\n| KEEP first_name, last_name\n````\n\nUtilisez `RLIKE` pour faire correspondre des chaînes à l'aide d'expressions régulières :\n\n````\nFROM employees\n| WHERE first_name RLIKE \".leja.*\"\n| KEEP first_name, last_name\n````\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.substringFunction.markdown": "### SUBSTRING\nRenvoie la sous-chaîne d'une chaîne, délimitée en fonction d'une position de départ et d'une longueur facultative. L'exemple suivant renvoie les trois premières lettres de chaque nom de famille :\n\n````\nFROM employees\n| KEEP last_name\n| EVAL ln_sub = SUBSTRING(last_name, 1, 3)\n````\n\nUne position de départ négative est interprétée comme étant relative à la fin de la chaîne. L'exemple suivant renvoie les trois dernières lettres de chaque nom de famille :\n\n````\nFROM employees\n| KEEP last_name\n| EVAL ln_sub = SUBSTRING(last_name, -3, 3)\n````\n\nSi la longueur n'est pas spécifiée, la sous-chaîne renvoie le reste de la chaîne. L'exemple suivant renvoie toutes les lettres à l'exception de la première :\n\n````\nFROM employees\n| KEEP last_name\n| EVAL ln_sub = SUBSTRING(last_name, 2)\n````\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.sumFunction.markdown": "### SUM\nRenvoie la somme d'un champ numérique.\n\n````\nFROM employees\n| STATS SUM(languages)\n````\n\nCette expression peut utiliser des fonctions alignées. Par exemple, pour calculer la somme de l'évolution de salaire maximale de chaque employé, appliquez la fonction `MV_MAX` à chaque ligne et additionnez les résultats (`SUM`) :\n\n````\nFROM employees\n| STATS total_salary_changes = SUM(MV_MAX(salary_change))\n````\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.tanFunction.markdown": "### TAN\nFonction trigonométrique tangente.\n\n````\nROW a=1.8\n| EVAL tan=TAN(a)\n````\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.tanhFunction.markdown": "### TANH\nFonction hyperbolique tangente.\n\n````\nROW a=1.8\n| EVAL tanh=TANH(a)\n````\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.tauFunction.markdown": "### TAU\nRapport entre la circonférence et le rayon d'un cercle.\n\n````\nROW TAU()\n````\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toBooleanFunction.markdown": "### TO_BOOLEAN\nConvertit une valeur d'entrée en une valeur booléenne.\n\nL'entrée peut être un champ à une ou plusieurs valeurs, ou une expression. Le type d'entrée doit être de type chaîne ou numérique.\n\nUne chaîne de valeur **\"true\"** sera convertie, sans tenir compte de la casse, en une valeur booléenne **true**. Pour toute autre valeur, y compris une chaîne vide, la fonction renverra **false**. Par exemple :\n\n````\nROW str = [\"true\", \"TRuE\", \"false\", \"\", \"yes\", \"1\"]\n| EVAL bool = TO_BOOLEAN(str)\n````\n\nRenvoi :\n\n````\n[\"true\", \"TRuE\", \"false\", \"\", \"yes\", \"1\"] | [true, true, false, false, false, false]\n````\n\nLa valeur numérique **0** sera convertie en **false**, toute autre valeur sera convertie en **true**.\n\nAlias : TO_BOOL\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toCartesianpointFunction.markdown": "### TO_CARTESIANPOINT\nConvertit une valeur d'entrée en une valeur de `point`.\n\nL'entrée peut être un champ à une ou plusieurs valeurs, ou une expression. Le type d'entrée doit être une chaîne ou un point cartésien.\n\nUne chaîne ne sera convertie avec succès que si elle respecte le format [WKT Point](https://en.wikipedia.org/wiki/Well-known_text_representation_of_geometry) :\n\n````\nROW wkt = [\"POINT(4297.11 -1475.53)\", \"POINT(7580.93 2272.77)\"]\n| MV_EXPAND wkt\n| EVAL pt = TO_CARTESIANPOINT(wkt)\n````\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toCartesianShapeFunction.markdown": "### TO_CARTESIANSHAPE\nConvertit une valeur d'entrée en une valeur `cartesian_shape`.\n\nL'entrée peut être un champ à une ou plusieurs valeurs, ou une expression. Le type d'entrée doit être une chaîne ou un `cartesian_shape`.\n \nUne chaîne ne sera convertie avec succès que si elle respecte le format [WKT](https://en.wikipedia.org/wiki/Well-known_text_representation_of_geometry) :\n \nPar exemple :\n \n````\nROW wkt = [\"POINT(4297.11 -1475.53)\", \"POLYGON ((3339584.72 1118889.97, 4452779.63 4865942.27, 2226389.81 4865942.27, 1113194.90 2273030.92, 3339584.72 1118889.97))\"]\n| MV_EXPAND wkt\n| EVAL geom = TO_CARTESIANSHAPE(wkt)\n````\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toDatetimeFunction.markdown": "### TO_DATETIME\nConvertit une valeur d'entrée en une valeur de date.\n\nL'entrée peut être un champ à une ou plusieurs valeurs, ou une expression. Le type d'entrée doit être de type chaîne ou numérique.\n\nUne chaîne ne sera convertie efficacement que si elle respecte le format `yyyy-MM-dd'T'HH:mm:ss.SSS'Z'`. Par exemple :\n\n````\nROW string = [\"1953-09-02T00:00:00.000Z\", \"1964-06-02T00:00:00.000Z\", \"1964-06-02 00:00:00\"]\n| EVAL datetime = TO_DATETIME(string)\n````\n\nRenvoi :\n\n````\n[\"1953-09-02T00:00:00.000Z\", \"1964-06-02T00:00:00.000Z\", \"1964-06-02 00:00:00\"] | [1953-09-02T00:00:00.000Z, 1964-06-02T00:00:00.000Z]\n````\n\nNotez que, dans cet exemple, la dernière valeur du champ source multivalué n'a pas été convertie. En effet, si le format de la date n'est pas respecté, la conversion aboutira à une valeur **null**.\n\nSi le paramètre d'entrée est de type numérique, sa valeur sera interprétée en millisecondes depuis l'heure Unix. Par exemple :\n\n````\nROW int = [0, 1]\n| EVAL dt = TO_DATETIME(int)\n````\n\nRenvoi :\n\n````\n[0, 1] | [1970-01-01T00:00:00.000Z, 1970-01-01T00:00:00.001Z]\n````\n\nAlias : TO_DT\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toDegreesFunction.markdown": "### TO_DEGREES\nConvertit un nombre en radians en degrés.\n\nL'entrée peut être un champ à une ou plusieurs valeurs, ou une expression. Le type d'entrée doit être de type numérique et le résultat est toujours `double`.\n\n````\nROW rad = [1.57, 3.14, 4.71]\n| EVAL deg = TO_DEGREES(rad)\n````\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toDoubleFunction.markdown": "### TO_DOUBLE\nConvertit une valeur d'entrée en une valeur double.\n\nL'entrée peut être un champ à une ou plusieurs valeurs, ou une expression. Le type d'entrée doit être de type booléen, date, chaîne ou numérique.\n\nExemple :\n\n````\nROW str1 = \"5.20128E11\", str2 = \"foo\"\n| EVAL dbl = TO_DOUBLE(\"520128000000\"), dbl1 = TO_DOUBLE(str1), dbl2 = TO_DOUBLE(str2)\n````\n\nRenvoi :\n\n````\n5.20128E11 | foo | 5.20128E11 | 5.20128E11 | null\n````\n\nNotez que, dans cet exemple, la dernière conversion de la chaîne n'est pas possible. Dans ce cas, le résultat est une valeur **null**.\n\nSi le paramètre d'entrée est de type date, sa valeur sera interprétée en millisecondes depuis l'heure Unix, convertie en double.\n\nLe booléen **true** sera converti en double **1.0**, et **false** en **0.0**.\n\nAlias : TO_DBL\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toGeopointFunction.markdown": "### TO_GEOPOINT\nConvertit une valeur d'entrée en une valeur `geo_point`.\n\nL'entrée peut être un champ à une ou plusieurs valeurs, ou une expression. Le type d'entrée doit être une chaîne ou un `geo_point`.\n\nUne chaîne ne sera convertie avec succès que si elle respecte le format [WKT Point](https://en.wikipedia.org/wiki/Well-known_text_representation_of_geometry) :\n\n````\nROW wkt = \"POINT(42.97109630194 14.7552534413725)\"\n| EVAL pt = TO_GEOPOINT(wkt)\n````\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toGeoshapeFunction.markdown": "### TO_GEOSHAPE\nConvertit une valeur d'entrée en une valeur `geo_shape`.\n\nL'entrée peut être un champ à une ou plusieurs valeurs, ou une expression. Le type d'entrée doit être une chaîne ou un `geo_shape`.\n\nUne chaîne ne sera convertie avec succès que si elle respecte le [format WKT](https://en.wikipedia.org/wiki/Well-known_text_representation_of_geometry).\n\nPar exemple :\n\n````\nROW wkt = \"POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10))\"\n| EVAL geom = TO_GEOSHAPE(wkt)\n````\n\nRenvoi :\n\n````\nPOLYGON ((30 10, 40 40, 20 40, 10 20, 30 10)) | POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10))\n````\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toIntegerFunction.markdown": "### TO_INTEGER\nConvertit une valeur d'entrée en une valeur entière.\n\nL'entrée peut être un champ à une ou plusieurs valeurs, ou une expression. Le type d'entrée doit être de type booléen, date, chaîne ou numérique.\n\nExemple :\n\n````\nROW long = [5013792, 2147483647, 501379200000]\n| EVAL int = TO_INTEGER(long)\n````\n\nRenvoi :\n\n````\n[5013792, 2147483647, 501379200000] | [5013792, 2147483647]\n````\n\nNotez que, dans cet exemple, la dernière valeur du champ multivalué ne peut pas être convertie en un nombre entier. Dans ce cas, le résultat est une valeur **null**.\n\nSi le paramètre d'entrée est de type date, sa valeur sera interprétée en millisecondes depuis l'heure Unix, convertie en nombre entier.\n\nLe booléen **true** sera converti en entier **1**, et **false** en **0**.\n\nAlias : TO_INT\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toIpFunction.markdown": "### TO_IP\nConvertit une chaîne d'entrée en valeur IP.\n\nL'entrée peut être un champ à une ou plusieurs valeurs, ou une expression.\n\nExemple :\n\n````\nROW str1 = \"1.1.1.1\", str2 = \"foo\"\n| EVAL ip1 = TO_IP(str1), ip2 = TO_IP(str2)\n| WHERE CIDR_MATCH(ip1, \"1.0.0.0/8\")\n````\n\nRenvoi :\n\n````\n1.1.1.1 | foo | 1.1.1.1 | null\n````\n\nNotez que, dans l'exemple ci-dessus, la dernière conversion de la chaîne n'est pas possible. Dans ce cas, le résultat est une valeur **null**.\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toLongFunction.markdown": "### TO_LONG\nConvertit une valeur d'entrée en une valeur longue.\n\nL'entrée peut être un champ à une ou plusieurs valeurs, ou une expression. Le type d'entrée doit être de type booléen, date, chaîne ou numérique.\n\nExemple :\n\n````\nROW str1 = \"2147483648\", str2 = \"2147483648.2\", str3 = \"foo\"\n| EVAL long1 = TO_LONG(str1), long2 = TO_LONG(str2), long3 = TO_LONG(str3)\n````\n\nRenvoi :\n\n````\n2147483648 | 2147483648.2 | foo | 2147483648 | 2147483648 | null\n````\n\nNotez que, dans cet exemple, la dernière conversion de la chaîne n'est pas possible. Dans ce cas, le résultat est une valeur **null**. \n\nSi le paramètre d'entrée est de type date, sa valeur sera interprétée en millisecondes depuis l'heure Unix, convertie en nombre entier.\n\nLe booléen `true` sera converti en valeur longue `1`, et `false` en `0`.\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toLowerFunction.markdown": "### TO_LOWER\nRenvoie une nouvelle chaîne représentant la chaîne d'entrée convertie en minuscules.\nPar exemple :\n \n````\nROW message = \"Some Text\" \n| EVAL message_lower = TO_LOWER(message)\n````\n\nRenvoi :\n\n````\nSome Text | some text\n````\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toRadiansFunction.markdown": "### TO_RADIANS\nConvertit un nombre en degrés en radians.\n\nL'entrée peut être un champ à une ou plusieurs valeurs, ou une expression. Le type d'entrée doit être de type numérique et le résultat est toujours `double`.\n\n````\nROW deg = [90.0, 180.0, 270.0]\n| EVAL rad = TO_RADIANS(deg)\n````\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toStringFunction.markdown": "### TO_STRING\nConvertit un champ en une chaîne. Par exemple :\n\n````\nROW a=10\n| EVAL j = TO_STRING(a)\n````\n\nCela fonctionne également pour les champs multivalués :\n\n````\nROW a=[10, 9, 8]\n| EVAL j = TO_STRING(a)\n````\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toUnsignedLongFunction.markdown": "### TO_UNSIGNED_LONG\nConvertit une valeur d'entrée en une valeur longue non signée.\n\nL'entrée peut être un champ à une ou plusieurs valeurs, ou une expression. Le type d'entrée doit être de type booléen, date, chaîne ou numérique.\n\n````\nROW str1 = \"2147483648\", str2 = \"2147483648.2\", str3 = \"foo\"\n| EVAL long1 = TO_UNSIGNED_LONG(str1), long2 = TO_ULONG(str2), long3 = TO_UL(str3)\n````\n\nNotez que, dans cet exemple, la dernière conversion de la chaîne n'est pas possible. Dans ce cas, le résultat est une valeur **null**. La réponse est accompagnée d'un champ d'avertissement. L’en-tête indiquera l'origine de l'échec :\n\n````\n\"Line 1:133: evaluation of [TO_UL(str3)] failed, treating result as null. Only first 20 failures recorded.\"\n````\n\nUn autre en-tête indiquera la raison de l'échec et la valeur incriminée :\n\n````\n\"java.lang.NumberFormatException: Character f is neither a decimal digit number, decimal point, nor \"e\" notation exponential mark.\"\n````\n\nSi le paramètre d'entrée est de type date, sa valeur sera interprétée en millisecondes depuis l'heure Unix, convertie en valeur longue non signée.\n\nLe booléen `true` sera converti en valeur longue non signée `1`, et `false` en `0`.\n\nAlias : TO_ULONG, TO_UL\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toUpperFunction.markdown": "### TO_UPPER\nRenvoie une nouvelle chaîne représentant la chaîne d'entrée convertie en majuscules.\n\nPar exemple :\n\n````\nROW message = \"Some Text\" \n| EVAL message_upper = TO_UPPER(message)\n````\n\nRenvoi :\n\n````\nSome Text | SOME TEXT\n````\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toVersionFunction.markdown": "### TO_VERSION\nConvertit une chaîne d'entrée en une valeur de version. Par exemple :\n\n````\nROW v = TO_VERSION(\"1.2.3\")\n````\n\nRenvoi :\n\n````\n1.2.3\n````\n\nAlias : TO_VER\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.trimFunction.markdown": "### TRIM\nSupprime les espaces de début et de fin d'une chaîne.\n\n````\nROW message = \" some text \", color = \" red \"\n| EVAL message = TRIM(message)\n| EVAL color = TRIM(color)\n````\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.where.markdown": "### WHERE\nUtilisez `WHERE` afin d'obtenir un tableau qui comprend toutes les lignes du tableau d'entrée pour lesquelles la condition fournie est évaluée à `true` :\n \n````\nFROM employees\n| KEEP first_name, last_name, still_hired\n| WHERE still_hired == true\n````\n\n#### Opérateurs\n\nPour obtenir un aperçu des opérateurs pris en charge, consultez la section **Opérateurs**.\n\n#### Fonctions\n`WHERE` prend en charge diverses fonctions de calcul des valeurs. Pour en savoir plus, consultez la section **Fonctions**.\n ", "textBasedEditor.query.textBasedLanguagesEditor.aborted": "La demande a été annulée", "textBasedEditor.query.textBasedLanguagesEditor.aggregationFunctions": "Fonctions d'agrégation", @@ -6283,105 +6214,36 @@ "textBasedEditor.query.textBasedLanguagesEditor.cancel": "Annuler", "textBasedEditor.query.textBasedLanguagesEditor.commandsDescription": "Une commande source produit un tableau, habituellement avec des données issues d'Elasticsearch. ES|QL est compatible avec les commandes sources suivantes.", "textBasedEditor.query.textBasedLanguagesEditor.disableWordWrapLabel": "Supprimer les sauts de ligne des barres verticales", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction": "ABS", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.acosFunction": "ACOS", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.asinFunction": "ASIN", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.atan2Function": "ATAN2", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.atanFunction": "ATAN", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.autoBucketFunction": "AUTO_BUCKET", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.avgFunction": "AVG", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.binaryOperators": "Opérateurs binaires", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.booleanOperators": "Opérateurs booléens", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.caseFunction": "CASE", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.ceilFunction": "CEIL", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.cidrMatchFunction": "CIDR_MATCH", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.coalesceFunction": "COALESCE", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.concatFunction": "CONCAT", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.cosFunction": "COS", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.coshFunction": "COSH", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.countDistinctFunction": "COUNT_DISTINCT", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.countFunction": "COUNT", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.dateDiffFunction": "DATE_DIFF", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.dateExtractFunction": "DATE_EXTRACT", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.dateFormatFunction": "DATE_FORMAT", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.dateParseFunction": "DATE_PARSE", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.dateTruncFunction": "DATE_TRUNC", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.dissect": "DISSECT", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.drop": "DROP", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.eFunction": "E", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.endsWithFunction": "ENDS_WITH", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.enrich": "ENRICH", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.eval": "EVAL", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.floorFunction": "FLOOR", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.from": "FROM", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.greatestFunction": "GREATEST", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.grok": "GROK", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.inOperator": "IN", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.keep": "KEEP", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.leastFunction": "LEAST", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.leftFunction": "LEFT", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.lengthFunction": "LENGHT", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.limit": "LIMIT", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.log10Function": "LOG10", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.ltrimunction": "LTRIM", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.maxFunction": "MAX", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.medianAbsoluteDeviationFunction": "MEDIAN_ABSOLUTE_DEVIATION", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.medianFunction": "MEDIAN", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.minFunction": "MIN", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvAvgFunction": "MV_AVG", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvConcatFunction": "MV_CONCAT", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvCountFunction": "MV_COUNT", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvDedupeFunction": "MV_DEDUPE", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvExpand": "MV_EXPAND", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvFirstFunction": "MV_FIRST", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvLastFunction": "MV_LAST", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvMaxFunction": "MV_MAX", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvMedianFunction": "MV_MEDIAN", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvMinFunction": "MV_MIN", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvSumFunction": "MV_SUM", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.nowFunction": "NOW", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.percentileFunction": "PERCENTILE", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.piFunction": "PI", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.powFunction": "POW", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.predicates": "valeurs NULL", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.rename": "RENAME", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.rightFunction": "RIGHT", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.roundFunction": "ROUND", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.row": "ROW", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.rtrimFunction": "RTRIM", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.show": "SHOW", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.sinFunction": "SIN", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.sinhFunction": "SINH", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.sort": "SORT", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.splitFunction": "SPLIT", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.sqrtFunction": "SQRT", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.startsWithFunction": "STARTS_WITH", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.statsby": "STATS ... BY", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.stCentroidFunction": "ST_CENTROID", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.stringOperators": "LIKE et RLIKE", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.substringFunction": "SUBSTRING", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.sumFunction": "SUM", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.tanFunction": "TAN", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.tanhFunction": "TANH", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.tauFunction": "TAU", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toBooleanFunction": "TO_BOOLEAN", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toCartesianpointFunction": "TO_CARTESIANPOINT", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toCartesianShapeFunction": "TO_CARTESIANSHAPE", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toDatetimeFunction": "TO_DATETIME", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toDegreesFunction": "TO_DEGREES", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toDoubleFunction": "TO_DOUBLE", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toGeopointFunction": "TO_GEOPOINT", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toGeoshapeFunction": "TO_GEOSHAPE", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toIntegerFunction": "TO_INTEGER", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toIpFunction": "TO_IP", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toLongFunction": "TO_LONG", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toLowerFunction": "TO_LOWER", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toRadiansFunction": "TO_RADIANS", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toStringFunction": "TO_STRING", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toUnsignedLongFunction": "TO_UNSIGNED_LONG", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toUpperFunction": "TO_UPPER", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toVersionFunction": "TO_VERSION", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.trimFunction": "TRIM", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.where": "WHERE", "textBasedEditor.query.textBasedLanguagesEditor.documentationLabel": "Documentation", "textBasedEditor.query.textBasedLanguagesEditor.EnableWordWrapLabel": "Ajouter des sauts de ligne aux barres verticales", diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json index e7d393cd5595c..fd8883aa401a9 100644 --- a/x-pack/plugins/translations/translations/ja-JP.json +++ b/x-pack/plugins/translations/translations/ja-JP.json @@ -6165,106 +6165,37 @@ "textBasedEditor.query.textBasedLanguagesEditor.lineCount": "{count} {count, plural, other {行}}", "textBasedEditor.query.textBasedLanguagesEditor.lineNumber": "行{lineNumber}", "textBasedEditor.query.textBasedLanguagesEditor.warningCount": "{count} {count, plural, other {件の警告}}", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction.markdown": "### ABS\n絶対値を返します。\n\n```\nFROM employees\n| KEEP first_name, last_name, height\n| EVAL abs_height = ABS(0.0 - height)\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.acosFunction.markdown": "### ACOS\n余弦三角関数を反転します。\n\n```\nROW a=.9\n| EVAL acos=ACOS(a)\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.asinFunction.markdown": "### ASIN\n正弦三角関数を反転します。\n\n```\nROW a=.9\n| EVAL asin=ASIN(a)\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.atan2Function.markdown": "### ATAN2\n直交平面上の原点から点(x , y)に向かう光線と正のx軸のなす角。\n\n```\nROW y=12.9, x=.6\n| EVAL atan2=ATAN2(y, x)\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.atanFunction.markdown": "### ATAN\n正接三角関数を反転します。\n\n```\nROW a=12.9\n| EVAL atan=ATAN(a)\n```\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.autoBucketFunction.markdown": "### AUTO_BUCKET\n人間にとって使いやすいバケットを作成し、各行に対して、その行が属するバケットに対応するdatetime値を返します。`AUTO_BUCKET`を`STATS ...BY`と結合し、日付ヒストグラムを作成します。\n\n目標バケット数、開始日、終了日を指定すると、目標バケット数以下のバケットを生成するために適切なバケットサイズが選択されます。たとえば、これは1年間で最大20のバケットを要求し、毎月のバケットが選択されます。\n\n```\nROW date=TO_DATETIME(\"1985-07-09T00:00:00.000Z\")\n| EVAL bucket=AUTO_BUCKET(date, 20, \"1985-01-01T00:00:00Z\", \"1986-01-01T00:00:00Z\")\n```\n\n次の結果を返します。\n```\n1985-07-09T00:00:00.000Z | 1985-07-01T00:00:00.000Z\n```\n\n目的は、バケットの目標数を*正確に*提供することではなく、\nユーザーにとって適度な範囲を選択し、バケットの目標数を提供する\nことです\n\nより多くのバケットを要求した場合、AUTO_BUCKETはより小さい範囲を選ぶことができます。例:\n1年間に要求するバケットが100以下の場合、1週間分のバケットが得られます。\n\n```\nROW date=TO_DATETIME(\"1985-07-09T00:00:00.000Z\")\n| EVAL bucket=AUTO_BUCKET(date, 100, \"1985-01-01T00:00:00Z\", \"1986-01-01T00:00:00Z\")\n```\n\n次の結果を返します。\n```\n1985-07-09T00:00:00.000Z | 1985-07-08T00:00:00.000Z\n```\n\nAUTO_BUCKETは行をフィルタリングしません。指定された時間範囲のみを使用して、適切なバケットサイズを選択します。範囲外の日付の行に対しては、範囲外のバケツに対応する日時を返します。行をフィルタリングするには、AUTO_BUCKETとWHEREを組み合わせます。\n\n詳細な例は次のとおりです。\n\n```\nFROM employees\n| WHERE hire_date >= \"1985-01-01T00:00:00Z\" AND hire_date < \"1986-01-01T00:00:00Z\"\n| EVAL bucket = AUTO_BUCKET(hire_date, 20, \"1985-01-01T00:00:00Z\", \"1986-01-01T00:00:00Z\")\n| STATS AVG(salary) BY bucket\n| SORT bucket\n```\n\n次の結果を返します。\n```\n46305.0 | 1985-02-01T00:00:00.000Z\n44817.0 | 1985-05-01T00:00:00.000Z\n62405.0 | 1985-07-01T00:00:00.000Z\n49095.0 | 1985-09-01T00:00:00.000Z\n51532.0 | 1985-10-01T00:00:00.000Z\n54539.75 | 1985-11-01T00:00:00.000\n```\n\n注:AUTO_BUCKETはどのドキュメントにも一致しないバケットを作成しません。そのため、上の例では1985-03-01やその他の日付が抜けています。\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.avgFunction.markdown": "### AVG\n数値フィールドの平均を返します。\n\n```\nFROM employees\n| STATS AVG(height)\n```\n\n式はインライン関数を使用できます。たとえば、複数値列で平均を計算するには、まず、MV_AVGを使用して行ごとに複数の値の平均を求め、その結果にAVG関数を適用します。\n\n```\nFROM employees\n| STATS avg_salary_change = AVG(MV_AVG(salary_change))\n```\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.binaryOperators.markdown": "### バイナリ演算子\n次のバイナリ比較演算子がサポートされています。\n\n* 等号:`==`\n* 大文字と小文字を区別しない等号 `=~`\n* 不等号:`!=`\n* 未満:`<`\n* 以下:`<=`\n* より大きい:`>`\n* 以上:`>=`\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.booleanOperators.markdown": "### ブール演算子\n次のブール演算子がサポートされています。\n\n* `AND`\n* `OR`\n* `NOT`\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.caseFunction.markdown": "### CASE\n条件と値のペアを指定できます。この関数は、最初にtrueと評価された条件に属する値を返します。引数の数が奇数の場合、最後の引数は条件に一致しない場合に返されるデフォルト値になります。\n\n```\nFROM employees\n| EVAL type = CASE(\n languages <= 1, \"monolingual\",\n languages <= 2, \"bilingual\",\n \"polyglot\")\n| KEEP first_name, last_name, type\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.ceilFunction.markdown": "### CEIL\n最も近い整数に数値を切り上げます。\n\n```\nROW a=1.8\n| EVAL a=CEIL(a)\n```\n\n注:これはlong(符号なしを含む)とintegerのnoopです。doubleの場合、JavaのMath.ceilと同様に、整数に最も近いdoubleの値を選びます。\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.cidrMatchFunction.markdown": "### CIDR_MATCH\n指定されたIPが指定されたCIDRブロックのいずれかに含まれていればtrueを返します。\n\nCIDR_MATCHでは2つ以上の引数を指定することができます。最初の引数はip型のIPアドレスです(IPv4とIPv6の両方がサポートされています)。続く引数は、IPをテストするCIDRブロックです。\n\n```\nFROM hosts\n| WHERE CIDR_MATCH(ip, \"127.0.0.2/32\", \"127.0.0.3/32\")\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.coalesceFunction.markdown": "### COALESCE\n最初のNULL以外の値を返します。\n\n```\nROW a=null, b=\"b\"\n| EVAL COALESCE(a, b)\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.concatFunction.markdown": "### CONCAT\n2つ以上の文字列を連結します。\n\n```\nFROM employees\n| KEEP first_name, last_name, height\n| EVAL fullname = CONCAT(first_name, \" \", last_name)\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.cosFunction.markdown": "### COS\n余弦三角関数。\n\n```\nROW a=1.8\n| EVAL cos=COS(a)\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.coshFunction.markdown": "### COSH\n余弦双曲線関数。\n\n```\nROW a=1.8\n| EVAL cosh=COSH(a)\n```\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.countDistinctFunction.markdown": "### COUNT_DISTINCT\n異なる値のおおよその数をカウントします。\n\n```\nFROM hosts\n| STATS COUNT_DISTINCT(ip0), COUNT_DISTINCT(ip1)\n```\n\nCOUNT_DISTINCT関数はHyperLogLog++アルゴリズムに基づく近似関数です。詳細については、[ドキュメント](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-metrics-cardinality-aggregation.html#_counts_are_approximate)を参照してください。精度は、オプションの2番目のパラメーターを使って設定できます。サポートされている最大値は40000です。この数値を超えたしきい値は、しきい値40000と同じ結果になります。デフォルト値は3000です。\n\n```\nFROM hosts\n| STATS COUNT_DISTINCT(ip0, 80000), COUNT_DISTINCT(ip1, 5)\n```\n\n式はインライン関数を使用できます。この例では、SPLIT関数を使用して、複数の値を分割し、一意の値をカウントします。\n\n```\nROW words=\"foo;bar;baz;qux;quux;foo\"\n| STATS distinct_word_count = COUNT_DISTINCT(SPLIT(words, \";\"))\n```\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.countFunction.markdown": "### COUNT\n入力値の合計数(カウント)が返されます。\n\n```\nFROM employees\n| STATS COUNT(height)\n```\n\n任意のフィールドを入力として渡すことができます。\n\n行数をカウントするには、`COUNT()`または`COUNT(*)`を使用します。\n\n```\nFROM employees\n| STATS count = COUNT(*) BY languages\n| SORT languages DESC\n```\n\n式はインライン関数を使用できます。この例では、SPLIT関数を使用して、複数の値を分割し、値をカウントします。\n\n```\nROW words=\"foo;bar;baz;qux;quux;foo\"\n| STATS word_count = COUNT(SPLIT(words, \";\"))\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.dateDiffFunction.markdown": "### DATE_DIFF\nstartTimestampをendTimestampから減算し、単位の乗数の差を返します。startTimestampがendTimestampより後の場合は、負の値が返されます。\n \n```\nROW date1 = TO_DATETIME(\"2023-12-02T11:00:00.000Z\"), date2 = TO_DATETIME(\"2023-12-02T11:00:00.001Z\")\n| EVAL dd_ms = DATE_DIFF(\"microseconds\", date1, date2)\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.dateExtractFunction.markdown": "### DATE_EXTRACT\n年、月、日、時間など、日付の一部を抽出します。サポートされているフィールド型はJavaのjava.time.temporal.ChronoFieldで提供されている型です。\n\n```\nROW date = DATE_PARSE(\"yyyy-MM-dd\", \"2022-05-06\")\n| EVAL year = DATE_EXTRACT(\"year\", date)\n```\n\nたとえば、営業時間外(午前9時前または午後5時過ぎ)に発生したすべてのイベントを検出するには、次のようにします。\n\n```\nFROM sample_data\n| WHERE DATE_EXTRACT(\"hour_of_day\", @timestamp) < 9 AND DATE_EXTRACT(\"hour_of_day\", @timestamp) >= 17\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.dateFormatFunction.markdown": "### DATE_FORMAT\n指定した書式の日付の文字列表現を返します。書式が指定されていない場合は、yyyy-MM-dd'T'HH:mm:ss.SSSZの書式が使用されます。\n\n```\nFROM employees\n| KEEP first_name, last_name, hire_date\n| EVAL hired = DATE_FORMAT(\"YYYY-MM-dd\", hire_date)\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.dateParseFunction.markdown": "### DATE_PARSE\n最初の引数で指定した形式を使用して、2番目の引数を解析することで、日付を返します。書式が指定されていない場合は、yyyy-MM-dd'T'HH:mm:ss.SSSZの書式が使用されます。\n構文については、[`DateTimeFormatter`ドキュメント](https://docs.oracle.com/en/java/javase/14/docs/api/java.base/java/time/format/DateTimeFormatter.html)を参照してください。\n```\nROW date_string = \"2022-05-06\"\n| EVAL date = DATE_PARSE(\"yyyy-MM-dd\", date_string)\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.dateTruncFunction.markdown": "### DATE_TRUNC\n最も近い区間まで日付を切り捨てます。\n\n```\nFROM employees\n| EVAL year_hired = DATE_TRUNC(1 year, hire_date)\n| STATS count(emp_no) BY year_hired\n| SORT year_hired\n```\n\n区間はtimespanリテラル構文を使って表現できます。Timespanリテラルは、数値と修飾子の組み合わせです。次の修飾子がサポートされています。\n\n* `millisecond`/milliseconds\n* `second`/`seconds`\n* `minute`/`minutes`\n* `hour`/`hours`\n* `day`/`days`\n* `week`/`weeks`\n* `month`/`months`\n* `year`/`years`\n\nTimespanリテラルは空白を区別しません。次の式はすべて有効です。\n\n* `1day`\n* `1 day`\n* `1 day`\n\nDATE_TRUNCをSTATS ...BYと結合し、日付ヒストグラムを作成します。たとえば、年ごとの採用数を返すには、次のようにします。\n\n```\nFROM employees\n| EVAL year = DATE_TRUNC(1 year, hire_date)\n| STATS hires = COUNT(emp_no) BY year\n| SORT year\n```\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.dissect.markdown": "### DISSECT\nDISSECTは文字列から構造化データを取り出すことができます。DISSECTは文字列を区切り文字ベースのパターンと照合し、指定されたキーを列として抽出します。\n\ndissectパターンの構文については、[dissectプロセッサードキュメント](https://www.elastic.co/guide/en/elasticsearch/reference/current/dissect-processor.html)を参照してください。\n\n```\nROW a = \"1953-01-23T12:15:00Z - some text - 127.0.0.1\"\n| DISSECT a \"%\\{Y\\}-%\\{M\\}-%\\{D\\}T%\\{h\\}:%\\{m\\}:%\\{s\\}Z - %\\{msg\\} - %\\{ip\\}\"\n```\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.drop.markdown": "### DROP\nテーブルから列を削除するには、DROPを使用します。\n \n```\nFROM employees\n| DROP height\n```\n\n各列を名前で指定するのではなく、ワイルドカードを使って、パターンと一致する名前の列をすべて削除することができます。\n\n```\nFROM employees\n| DROP height*\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.eFunction.markdown": "### E\nEulerの数値。\n\n```\nROW E()\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.endsWithFunction.markdown": "### ENDS_WITH\nキーワード文字列が他の文字列で終わるかどうかを示すブール値を返します。\n\n```\nFROM employees\n| KEEP last_name\n| EVAL ln_E = ENDS_WITH(last_name, \"d\")\n```\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.enrich.markdown": "### ENRICH\nENRICH`を使用すると、既存のインデックスのデータを受信レコードに追加することができます。[インジェストエンリッチ](https://www.elastic.co/guide/en/elasticsearch/reference/current/ingest-enriching-data.html)と似ていますが、クエリ時に動作します。\n\n```\nROW language_code = \"1\"\n| ENRICH languages_policy\n```\n\nENRICHでは、[エンリッチポリシー](https://www.elastic.co/guide/en/elasticsearch/reference/current/ingest-enriching-data.html#enrich-policy)を実行する必要があります。エンリッチポリシーは、一致フィールド (キーフィールド) とエンリッチフィールドのセットを定義します。\n\nENRICHは、一致フィールド値に基づいて、[エンリッチインデックス](https://www.elastic.co/guide/en/elasticsearch/reference/current/ingest-enriching-data.html#enrich-index)のレコードを検索します。入力データセットの一致するキーは、ON を使用して定義できます。指定しない場合は、エンリッチポリシーで定義された一致フィールドと同じ名前のフィールドで一致が実行されます。\n\n```\nROW a = \"1\"\n| ENRICH languages_policy ON a\n```\n\nWITH , ...構文を使用して、結果に追加される属性(ポリシーでエンリッチフィールドとして定義された属性の間)を指定できます。\n\n```\nROW a = \"1\"\n| ENRICH languages_policy ON a WITH language_name\n```\n\n属性の名前は、WITH new_name=を使用して変更できます。\n\n```\nROW a = \"1\"\n| ENRICH languages_policy ON a WITH name = language_name\n```\n\nデフォルトでは、(WITHが定義されていない場合)、ENRICHはエンリッチポリシーで定義されたすべてのエンリッチフィールドを結果に追加します。\n\n名前の競合が発生した場合、新しく作成されたフィールドが既存のフィールドを上書きします。\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.eval.markdown": "### EVAL\nEVALでは、新しい列を追加できます。\n\n```\nFROM employees\n| KEEP first_name, last_name, height\n| EVAL height_feet = height * 3.281, height_cm = height * 100\n```\n\n指定した列がすでに存在する場合、既存の列は削除され、新しい列がテーブルに追加されます。\n\n```\nFROM employees\n| KEEP first_name, last_name, height\n| EVAL height = height * 3.281\n```\n\n#### 関数\nEVALは値を計算するためのさまざまな関数をサポートしています。関数をクリックすると詳細が表示されます。\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.floorFunction.markdown": "### FLOOR\n最も近い整数に数値を切り捨てます。\n\n```\nROW a=1.8\n| EVAL a=FLOOR(a)\n```\n\n注:これはlong(符号なしを含む)とintegerのnoopです。doubleの場合、JavaのMath.floorと同様に、整数に最も近いdoubleの値を選びます。\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.from.markdown": "\n* FROM\nソースコマンドFROMは、データストリーム、インデックス、またはエイリアスから、最大10,000ドキュメントを含むテーブルを返します。結果のテーブルの各行はドキュメントを表します。各列はフィールドに対応し、そのフィールドの名前でアクセスできます。\n\n```\nFROM employees\n```\n\n[日付演算](https://www.elastic.co/guide/en/elasticsearch/reference/current/api-conventions.html#api-date-math-index-names) を使用して、インデックス、エイリアス、データストリームを参照できます。これは時系列データの場合に便利です。\n\nカンマ区切りのリストまたはワイルドカードを使用して、複数のデータストリーム、インデックス、またはエイリアスをクエリします。\n\n```\nFROM employees-00001,employees-*\n```\n\n#### メタデータ\n\nES|QLは以下のメタデータフィールドにアクセスできます。\n\n* `_index`:ドキュメントが属するインデックス。このフィールドはkeyword型です。\n* `_id`:ソースドキュメントのID。このフィールドはkeyword型です。\n* `_version`:ソースドキュメントのバージョン。フィールドの型はlongです。\n\nメタデータフィールドを有効にするには、METADATAディレクティブを使います。\n\n```\nFROM index [METADATA _index, _id]\n```\n\nメタデータフィールドは、データのソースがインデックスである場合にのみ使用できます。その結果、FROMはMETADATAディレクティブをサポートする唯一のソースコマンドです。\n\nこのフィールドが有効になると、他のインデックスフィールドと同様に、後続の処理コマンドで利用できるようになります。\n\n```\nFROM ul_logs, apps [METADATA _index, _version]\n| WHERE id IN (13, 14) AND _version == 1\n| EVAL key = CONCAT(_index, \"_\", TO_STR(id))\n| SORT id, _index\n| KEEP id, _index, _version, key\n```\n\nまた、インデックス・フィールドと同様に、一度集約が実行されると、グループ化フィールドとして使用されないかぎり、メタデータフィールドは後続のコマンドからはアクセスできなくなります。\n\n```\nFROM employees [METADATA _index, _id]\n| STATS max = MAX(emp_no) BY _index\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.greatestFunction.markdown": "### GREATEST\n多数の列から最大値を返します。これはMV_MAXと似ていますが、一度に複数の列に対して実行します。\n\n```\nROW a = 10, b = 20\n| EVAL g = GREATEST(a, b);\n```\n\n注:keywordまたはtextフィールドに対して実行すると、アルファベット順の最後の文字列を返します。boolean列に対して実行すると、値がtrueの場合にtrueを返します。\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.grok.markdown": "### GROK\nGROKを使うと、文字列から構造化データを抽出できます。GROKは正規表現に基づいて文字列をパターンと一致させ、指定されたパターンを列として抽出します。\n\ngrokパターンの構文については、 [grokプロセッサードキュメント](https://www.elastic.co/guide/en/elasticsearch/reference/current/grok-processor.html)を参照してください。\n\n```\nROW a = \"12 15.5 15.6 true\"\n| GROK a \"%\\{NUMBER:b:int\\} %\\{NUMBER:c:float\\} %\\{NUMBER:d:double\\} %\\{WORD:e:boolean\\}\"\n```\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.inOperator.markdown": "### IN\nIN演算子は、フィールドや式がリテラル、フィールド、式のリストの要素と等しいかどうかをテストすることができます。\n\n```\nROW a = 1, b = 4, c = 3\n| WHERE c-a IN (3, b / 2, a)\n```\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.keep.markdown": "### KEEP\nKEEPコマンドは、返される列と、列が返される順序を指定することができます。\n\n返される列を制限するには、カンマで区切りの列名リストを使用します。列は指定された順序で返されます。\n \n```\nFROM employees\n| KEEP first_name, last_name, height\n```\n\n各列を名前で指定するのではなく、ワイルドカードを使って、パターンと一致する名前の列をすべて返すことができます。\n\n```\nFROM employees\n| KEEP h*\n```\n\nアスタリスクワイルドカード(*)は単独で、他の引数と一致しないすべての列に変換されます。このクエリは、最初にhで始まる名前の列をすべて返し、その後にその他の列をすべて返します。\n\n```\nFROM employees\n| KEEP h*, *\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.leastFunction.markdown": "### LEAST\n多数の列から最小値を返します。これはMV_MINと似ていますが、一度に複数の列に対して実行します。\n\n```\nROW a = 10, b = 20\n| EVAL l = LEAST(a, b)\n```\n\n注:keywordまたはtextフィールドに対して実行すると、アルファベット順の最初の文字列を返します。boolean列に対して実行すると、値がfalseの場合にfalseを返します。\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.leftFunction.markdown": "### LEFT\nstringから左から順にlength文字を抜き出したサブ文字列を返します。\n\n```\nFROM employees\n| KEEP last_name\n| EVAL left = LEFT(last_name, 3)\n| SORT last_name ASC\n| LIMIT 5\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.lengthFunction.markdown": "### LENGTH\n文字列の文字数を返します。\n\n```\nFROM employees\n| KEEP first_name, last_name, height\n| EVAL fn_length = LENGTH(first_name)\n```\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.limit.markdown": "### LIMIT\nLIMIT`処理コマンドは行数を制限することができます。\n \n```\nFROM employees\n| LIMIT 5\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.log10Function.markdown": "### LOG10\n対数の底10を返します。入力は任意の数値で、戻り値は常にdoubleです。\n\n負数の対数はNaNです。無限大の対数は無限大であり、0の対数も無限大です。\n\n```\nROW d = 1000.0\n| EVAL s = LOG10(d)\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.ltrimFunction.markdown": "### LTRIM\n文字列から先頭の空白を取り除きます。\n\n```\nROW message = \" some text \", color = \" red \"\n| EVAL message = LTRIM(message)\n| EVAL color = LTRIM(color)\n| EVAL message = CONCAT(\"'\", message, \"'\")\n| EVAL color = CONCAT(\"'\", color, \"'\")\n```\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.markdown": "## ES|QL\n\nES|QL(Elasticsearch クエリ言語)クエリは、パイプ文字の|で区切られた一連のコマンドで構成されます。各クエリは**ソースコマンド**で始まり、通常はElasticsearchのデータを使ってテーブルを生成します。\n\nソースコマンドには、1つ以上の**処理コマンド**を続けることができます。処理コマンドは、行や列を追加、削除、変更することで、前のコマンドの出力テーブルを変更することができます。\n\n```\nsource-command\n| processing-command1\n| processing-command2\n```\n\nクエリの結果は、最終的な処理コマンドによって生成されるテーブルです。 \n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.maxFunction.markdown": "### MAX\n数値式の最大値を返します。\n\n```\nFROM employees\n| STATS MAX(languages)\n```\n\n式はインライン関数を使用できます。たとえば、複数値列の平均に対して最大値を計算するには、まず、MV_AVGを使用して行ごとに複数の値の平均を求め、その結果にMAX関数を適用します。\n\n```\nFROM employees\n| STATS max_avg_salary_change = MAX(MV_AVG(salary_change))\n```\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.medianAbsoluteDeviationFunction.markdown": "### MEDIAN_ABSOLUTE_DEVIATION\n絶対偏差の中央値で、ばらつきを表す指標を返します。これはロバスト統計量であり、外れ値があったり、正規分布していない可能性があるデータを説明するのに有用です。このようなデータでは、標準偏差よりもわかりやすくなります。\n\nこれは、サンプル全体の中央値からの各データポイントの偏差の中央値として計算されます。つまり、確率変数Xに対して、絶対偏差の中央値はmedian(|median(X) - X|)です。\n\n```\nFROM employees\n| STATS MEDIAN(salary), MEDIAN_ABSOLUTE_DEVIATION(salary)\n```\n\n注:PERCENTILEと同様に、通常、MEDIAN_ABSOLUTE_DEVIATIONはTDigestアルゴリズムに基づく近似値です。MEDIAN_ABSOLUTE_DEVIATIONも非決定論的です。つまり、同じデータでも微妙に異なる結果が得られる可能性があります。\n\n式はインライン関数を使用できます。たとえば、複数値列の最大値の中央絶対偏差を計算するには、まず、MV_MAXを使用して行ごとの最大値を取得し、その結果に対してMEDIAN_ABSOLUTE_DEVIATION関数を使用します。\n\n```\nFROM employees\n| STATS m_a_d_max_salary_change = MEDIAN_ABSOLUTE_DEVIATION(MV_MAX(salary_change))\n```\n\n", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.medianFunction.markdown": "### MEDIAN\n全数値の半分より大きく、全数値の半分より小さい値で、50%パーセンタイルとも呼ばれる値を返します。\n\n**注:**PERCENTILEと同様に、通常MEDIANはTDigestアルゴリズムに基づく近似値です。\n\n**警告:** MEDIANは[非決定性](https://en.wikipedia.org/wiki/Nondeterministic_algorithm)です。つまり、同じデータでも微妙に異なる結果が得られる可能性があります。\n\n例:\n\n```\nFROM employees\n| STATS MEDIAN(salary), PERCENTILE(salary, 50)\n```\n\n式はインライン関数を使用できます。たとえば、複数値列の最大値の中央値を計算するには、まず、MV_MAXを使用して行ごとに最大値を求め、その結果にMEDIAN関数を適用します。\n\n```\nFROM employees\n| STATS median_max_salary_change = MEDIAN(MV_MAX(salary_change))\n```\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.minFunction.markdown": "### MIN\n数値フィールドの最小値を返します。\n\n```\nFROM employees\n| STATS MIN(languages)\n```\n\n式はインライン関数を使用できます。たとえば、複数値列の平均に対して最小値を計算するには、まず、MV_AVGを使用して行ごとに複数の値の平均を求め、その結果にMIN関数を適用します。\n\n```\nFROM employees\n| STATS min_avg_salary_change = MIN(MV_AVG(salary_change))\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvAvgFunction.markdown": "### MV_AVG\n複数値フィールドを、すべての値の平均を含む単一値フィールドに変換します。例:\n\n```\nROW a=[3, 5, 1, 6]\n| EVAL avg_a = MV_AVG(a)\n```\n\n次の結果を返します。\n\n```\n[3, 5, 1, 6] | 3.75\n```\n\n注:出力型は常にdoubleで、入力型は任意の数値です。\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvConcatFunction.markdown": "### MV_CONCAT\n複数値文字列フィールドを、区切り文字で区切られたすべての値を連結した単一値フィールドに変換します。\n\n```\nROW a=[\"foo\", \"zoo\", \"bar\"]\n| EVAL j = MV_CONCAT(a, \", \")\n```\n\n次の結果を返します。\n\n```\n[\"foo\", \"zoo\", \"bar\"] | \"foo, zoo, bar\"\n```\n\n文字列以外のフィールドを結合したい場合は、最初にTO_STRINGを呼び出します。\n\n```\nROW a=[10, 9, 8]\n| EVAL j = MV_CONCAT(TO_STRING(a), \", \")\n```\n\n次の結果を返します。\n\n```\n[10, 9, 8] | \"10, 9, 8\"\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvCountFunction.markdown": "### MV_COUNT\n複数値フィールドを、値の数をカウントする単一値フィールドに変換します。\n\n```\nROW a=[\"foo\", \"zoo\", \"bar\"]\n| EVAL count_a = MV_COUNT(a)\n```\n\n次の結果を返します。\n\n```\n[\"foo\", \"zoo\", \"bar\"] | 3\n```\n\n注:この関数はすべての型を使用でき、常に整数を返します。\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvDedupeFunction.markdown": "### MV_DEDUPE\n複数値フィールドから重複を削除します。例:\n\n```\nROW a=[\"foo\", \"foo\", \"bar\", \"foo\"]\n| EVAL dedupe_a = MV_DEDUPE(a)\n```\n\n次の結果を返します。\n\n```\n[\"foo\", \"foo\", \"bar\", \"foo\"] | [\"foo\", \"bar\"]\n```\n\n注:MV_DEDUPEはフィールドの値をソートすることがありますが、常にソートするわけではありません。\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvExpand.markdown": "### MV_EXPAND\nMV_EXPAND処理コマンドは、複数値フィールドを値ごとに1行に展開し、他のフィールドを複製します。 \n```\nROW a=[1,2,3], b=\"b\", j=[\"a\",\"b\"]\n| MV_EXPAND a\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvFirstFunction.markdown": "### MV_FIRST\n複数値フィールドを、最初の値を含む単一値フィールドに変換します。これは、SPLITなどの既知の順序で複数値フィールドを発行する関数から読み取るときに役立ちます。\n\n例:\n\n```\nROW a=\"foo;bar;baz\" \n| EVAL first_a = MV_FIRST(SPLIT(a, \";\"))\n```\n\n次の結果を返します。\n\n```\nfoo;bar;baz | foo\n```\n\n[複数値フィールド](https://www.elastic.co/guide/en/elasticsearch/reference/current/esql-multivalued-fields.html)が基本ストレージから読み取られる順序は保証されません。通常は昇順ですが、必ずしもそうであるわけではありません。最小フィールド値が必要な場合は、MV_FIRSTではなく、MV_MINを使用してください。MV_MINはソートされた値向けに最適化されているため、MV_FIRSTにはパフォーマンスの利点がありません。通常、MV_FIRSTは、SPLITなどの複数値フィールドを作成する関数で有用です。\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvLastFunction.markdown": "### MV_LAST\n複数値フィールドを、最後の値を含む単一値フィールドに変換します。これは、SPLITなどの既知の順序で複数値フィールドを発行する関数から読み取るときに役立ちます。\n \n```\nROW a=\"foo;bar;baz\" \n| EVAL first_a = MV_LAST(SPLIT(a, \";\"))\n```\n\n次の結果を返します。\n\n```\nfoo;bar;baz | baz\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvMaxFunction.markdown": "### MV_MAX\n複数値フィールドを、最大値を含む単一値フィールドに変換します。例:\n\n```\nROW a=[3, 5, 1]\n| EVAL max_a = MV_MAX(a)\n```\n\n次の結果を返します。\n\n```\n[3, 5, 1] | 5\n```\n\nkeywordフィールドを含む、どのフィールド型でも使用できます。この場合、最後の文字列を選び、utf-8表現を1バイトずつ比較します。\n\n```\nROW a=[\"foo\", \"zoo\", \"bar\"]\n| EVAL max_a = MV_MAX(a)\n```\n\n次の結果を返します。\n\n```\n[\"foo\", \"zoo\", \"bar\"] | \"zoo\"\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvMedianFunction.markdown": "### MV_MEDIAN\n複数値フィールドを、中央値を含む単一値フィールドに変換します。例:\n\n```\nROW a=[3, 5, 1]\n| EVAL median_a = MV_MEDIAN(a)\n```\n\n次の結果を返します。\n\n```\n[3, 5, 1] | 3\n```\n\n任意の数値フィールド型で使用でき、同じ型の値を返します。行の列の値が偶数の場合、結果は真ん中の2つのエントリの平均になります。フィールドが浮動小数点でない場合、平均は**切り下げ**られます。\n\n```\nROW a=[3, 7, 1, 6]\n| EVAL median_a = MV_MEDIAN(a)\n```\n\n次の結果を返します。\n\n```\n[3, 7, 1, 6] | 4\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvMinFunction.markdown": "### MV_MIN\n複数値フィールドを、最小値を含む単一値フィールドに変換します。例:\n\n```\nROW a=[2, 1]\n| EVAL min_a = MV_MIN(a)\n```\n\n次の結果を返します。\n\n```\n[2, 1] | 1\n```\n\nkeywordフィールドを含む、どのフィールド型でも使用できます。この場合、最後の文字列を選び、utf-8表現を1バイトずつ比較します。\n\n```\nROW a=[\"foo\", \"bar\"]\n| EVAL min_a = MV_MIN(a)\n```\n\n次の結果を返します。\n\n```\n[\"foo\", \"bar\"] | \"bar\"\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvSumFunction.markdown": "### MV_SUM\n複数値フィールドを、すべての値の合計を含む単一値フィールドに変換します。例:\n```\nROW a=[3, 5, 6]\n| EVAL sum_a = MV_SUM(a)\n```\n\n次の結果を返します。\n\n```\n[3, 5, 6] | 14\n```\n\n注:入力型は任意の数値で、出力型は入力型と同じです。\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.nowFunction.markdown": "### NOW\n現在の日付と時刻を返します。\n\n```\nROW current_date = NOW()\n```\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.percentileFunction.markdown": "### PERCENTILE\n観測値の特定の割合で発生する値。たとえば、95パーセンタイルは観測値の95%より大きい値で、50パーセンタイルはMEDIAN`です。\n\n```\nFROM employees\n| STATS p0 = PERCENTILE(salary, 0)\n , p50 = PERCENTILE(salary, 50)\n , p99 = PERCENTILE(salary, 99)\n```\n\n**注**:PERCENTILEは通常TDigestアルゴリズムに基づく近似値です。\n\n**警告:**PERCENTILEは[非決定性](https://en.wikipedia.org/wiki/Nondeterministic_algorithm)です。つまり、同じデータでも微妙に異なる結果が得られる可能性があります。\n\n式はインライン関数を使用できます。たとえば、複数値列の最大値のパーセンタイルを計算するには、まず、MV_MAXを使用して行ごとの最大値を取得し、その結果に対してMEDIAN_ABSOLUTE_DEVIATION関数を使用します。\n\n```\nFROM employees\n| STATS p80_max_salary_change = PERCENTILE(MV_MAX(salary_change), 80)\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.piFunction.markdown": "### PI\n円の円周と直径の比率。\n\n```\nROW PI()\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.powFunction.markdown": "### POW\n底(第1引数)を指数の累乗(第2引数)した値を返します。いずれの引数も数値でなければなりません。出力は常に倍精度浮動小数点数です。ここでは、倍精度浮動小数点数の結果でもオーバーフローする可能性があります。その場合は、NULLが返されます。\n\n```\nROW base = 2.0, exponent = 2.0 \n| EVAL s = POW(base, exponent)\n```\n\n#### 小数の指数\n\n指数は小数にすることができ、これは平方根を求めるのと似ています。たとえば、指数0.5は基数の平方根になります。\n\n```\nROW base = 4, exponent = 0.5\n| EVAL s = POW(base, exponent)\n```\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.predicates.markdown": "### NULL値\nNULLの比較には、IS NULLとIS NOT NULL述語を使います。\n\n```\nFROM employees\n| WHERE birth_date IS NULL\n| KEEP first_name, last_name\n| SORT first_name\n| LIMIT 3\n```\n\n```\nFROM employees\n| WHERE is_rehired IS NOT NULL\n| STATS count(emp_no)\n```\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.rename.markdown": "### RENAME\nRENAMEを使用して、次の構文で列の名前を変更します。\n\n```\nRENAME AS \n```\n\n例:\n\n```\nFROM employees\n| KEEP first_name, last_name, still_hired\n| RENAME still_hired AS employed\n```\n\n新しい名前の列がすでに存在する場合、その列は新しい列に置き換えられます。\n\n複数の列の名前を1つのRENAMEコマンドで変更することができます。\n\n```\nFROM employees\n| KEEP first_name, last_name\n| RENAME first_name AS fn, last_name AS ln\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.rightFunction.markdown": "### RIGHT\nstringから右から順にlength文字を抜き出したサブ文字列を返します。\n\n```\nFROM employees\n| KEEP last_name\n| EVAL right = RIGHT(last_name, 3)\n| SORT last_name ASC\n| LIMIT 5\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.roundFunction.markdown": "### ROUND\n指定した桁数に最も近い数値に丸めます。桁数が指定されていない場合のデフォルトは0桁です。指定した桁数が負の場合、小数点以下の桁数に丸めます。\n\n```\nFROM employees\n| KEEP first_name, last_name, height\n| EVAL height = ROUND(height * 3.281, 1)\n```\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.row.markdown": "### ROW\nROWソースコマンドは、指定した値の列を1つ以上含む行を作成します。これはテストの場合に便利です。\n \n```\nROW a = 1, b = \"two\", c = null\n```\n\n複数の値を含む列を作成するには角括弧を使用します。\n\n```\nROW a = [2, 1]\n```\n\nROWは関数の使用をサポートしています。\n\n```\nROW a = ROUND(1.23, 0)\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.rtrimFunction.markdown": "### RTRIM\n文字列から末尾の空白を取り除きます。\n\n```\nROW message = \" some text \", color = \" red \"\n| EVAL message = RTRIM(message)\n| EVAL color = RTRIM(color)\n| EVAL message = CONCAT(\"'\", message, \"'\")\n| EVAL color = CONCAT(\"'\", color, \"'\")\n```\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.show.markdown": "### SHOW\nSHOW ソースコマンドはデプロイとその能力に関する情報を返します。\n\n* デプロイのバージョン、ビルド日、ハッシュを返すには、SHOW INFOを使用します。\n* SHOW FUNCTIONSを使用すると、サポートされているすべての関数のリストと各関数の概要を返します。\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.sinFunction.markdown": "### SIN\n正弦三角関数。\n\n```\nROW a=1.8\n| EVAL sin=SIN(a)\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.sinhFunction.markdown": "### SINH\n正弦双曲線関数。\n\n```\nROW a=1.8\n| EVAL sinh=SINH(a)\n```\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.sort.markdown": "### SORT\nSORTコマンドを使用すると、1つ以上のフィールドで行をソートすることができます。\n\n```\nFROM employees\n| KEEP first_name, last_name, height\n| SORT height\n```\n\nデフォルトのソート順は昇順です。ASCまたはDESCを使って明示的なソート順を設定します。\n\n```\nFROM employees\n| KEEP first_name, last_name, height\n| SORT height DESC\n```\n\n2つの行のソートキーが同じ場合、元の順序が保持されます。タイブレーカーとなるソート式を追加で指定できます。\n\n```\nFROM employees\n| KEEP first_name, last_name, height\n| SORT height DESC, first_name ASC\n```\n\n#### null値\nデフォルトでは、null値は他のどの値よりも大きい値として扱われます。昇順のソートではnull値は最後にソートされ、降順のソートではnull値は最初にソートされます。NULLS FIRSTまたはNULLS LASTを指定することで変更できます。\n\n```\nFROM employees\n| KEEP first_name, last_name, height\n| SORT first_name ASC NULLS FIRST\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.splitFunction.markdown": "### SPLIT\n単一の値の文字列を複数の文字列に分割します。例:\n\n```\nROW words=\"foo;bar;baz;qux;quux;corge\"\n| EVAL word = SPLIT(words, \";\")\n```\n\n\"foo;bar;baz;qux;quux;corge\"を;で分割して配列を返します。\n\n```\nfoo;bar;baz;qux;quux;corge | [foo,bar,baz,qux,quux,corge]\n```\n\n注:現在サポートされている区切り文字は1バイトのみです。\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.sqrtFunction.markdown": "### SQRT\n数値の平方根を返します。入力は任意の数値で、戻り値は常にdoubleです。\n\n負数の平方根はNaNです。無限大の平方根は無限大です。\n\n```\nROW d = 100.0\n| EVAL s = SQRT(d)\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.startsWithFunction.markdown": "### STARTS_WITH\nキーワード文字列が他の文字列で始まるかどうかを示すブール値を返します。\n\n```\nFROM employees\n| KEEP first_name, last_name, height\n| EVAL ln_S = STARTS_WITH(last_name, \"S\")\n```\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.statsby.markdown": "### STATS ...BY\nSTATS ...BYを使用すると、共通の値に従って行をグループ化し、グループ化された行に対する1つ以上の集約値を計算します。\n\n**例**:\n\n```\nFROM employees\n| STATS count = COUNT(emp_no) BY languages\n| SORT languages\n```\n\nBYが省略された場合、出力テーブルには、データセット全体に適用された集約が正確に1行だけ含まれます。\n\n```\nFROM employees\n| STATS avg_lang = AVG(languages)\n```\n\n複数の値を計算することができます。\n\n```\nFROM employees\n| STATS avg_lang = AVG(languages), max_lang = MAX(languages)\n```\n\n複数の値でグループ化することも可能です(longおよびkeywordファミリーフィールドでのみサポート)。\n\n```\nFROM employees\n| EVAL hired = DATE_FORMAT(hire_date, \"YYYY\")\n| STATS avg_salary = AVG(salary) BY hired, languages.long\n| EVAL avg_salary = ROUND(avg_salary)\n| SORT hired, languages.long\n```\n\nSTATS ...BYで使用できる関数の一覧については、**集計関数**を参照してください。\n\n集計関数とグループ式の両方で他の関数を使用できます。これは、複数値列でSTATS...BYを使用するときに有用です。たとえば、平均給与変動を計算するには、まず、MV_AVGを使用して従業員ごとに複数の値の平均を求め、その結果にAVG関数を適用します。\n\n```\nFROM employees\n| STATS avg_salary_change = AVG(MV_AVG(salary_change))\n```\n\n式によるグループ化の例は、姓の最初の文字で従業員をグループ化することです。\n\n```\nFROM employees\n| STATS my_count = COUNT() BY LEFT(last_name, 1)\n| SORT `LEFT(last_name, 1)`\n```\n\n出力列名の指定は任意です。指定しない場合は、新しい列名が式と等しくなります。次のクエリは列\"AVG(salary)\"を返します。\n\n```\nFROM employees\n| STATS AVG(salary)\n```\n\nこの名前には特殊文字が含まれているため、後続のコマンドで使用するときには、バッククオート(`)で囲む必要があります。\n\n```\nFROM employees\n| STATS AVG(salary)\n| EVAL avg_salary_rounded = ROUND(`AVG(salary)`)\n```\n\n**注**:グループなしのSTATSは、グループを追加するよりも大幅に高速です。\n\n**注**:単一式でのグループは、現在、複数式でのグループよりも大幅に最適化されています。\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.stCentroidFunction.markdown": "### ST_CENTROID\n空間点ジオメトリタイプのフィールドで、空間中心を計算します。\n\n```\nFROM airports\n| STATS centroid=ST_CENTROID(location)\n```\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.stringOperators.markdown": "### LIKEおよびRLIKE\nワイルドカードや正規表現を使った文字列比較にはLIKEまたはRLIKEを使います。\n\nワイルドカードを使って文字列を一致させるにはLIKEを使います。次のワイルドカード文字がサポートされています。\n\n* `*`は0文字以上と一致します。\n* `?`は1文字と一致します。\n\n```\nFROM employees\n| WHERE first_name LIKE \"?b*\"\n| KEEP first_name, last_name\n```\n\n正規表現を使って文字列を一致させるには、RLIKEを使います。\n\n```\nFROM employees\n| WHERE first_name RLIKE \".leja.*\"\n| KEEP first_name, last_name\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.substringFunction.markdown": "### SUBSTRING\n文字列のサブ文字列を、開始位置とオプションの長さで指定して返します。この例では、すべての姓の最初の3文字を返します。\n\n```\nFROM employees\n| KEEP last_name\n| EVAL ln_sub = SUBSTRING(last_name, 1, 3)\n```\n\n負の開始位置は、文字列の末尾からの相対位置と解釈されます。この例では、すべての姓の最後の3文字を返します。\n\n```\nFROM employees\n| KEEP last_name\n| EVAL ln_sub = SUBSTRING(last_name, -3, 3)\n```\n\nlengthが省略された場合、substringは文字列の余りを返します。この例では、最初の文字を除くすべての文字を返します。\n\n```\nFROM employees\n| KEEP last_name\n| EVAL ln_sub = SUBSTRING(last_name, 2)\n```\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.sumFunction.markdown": "### SUM\n数値フィールドの合計を返します。\n\n```\nFROM employees\n| STATS SUM(languages)\n```\n\n式はインライン関数を使用できます。たとえば、各従業員の最大給与変動の総計を計算するには、MV_MAX関数を各行に適用してから、その結果にSUMを適用します。\n\n```\nFROM employees\n| STATS total_salary_changes = SUM(MV_MAX(salary_change))\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.tanFunction.markdown": "### TAN\n正接三角関数。\n\n```\nROW a=1.8\n| EVAL tan=TAN(a)\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.tanhFunction.markdown": "### TANH\n正接双曲線関数。\n\n```\nROW a=1.8\n| EVAL tanh=TANH(a)\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.tauFunction.markdown": "### TAU\n円の円周と半径の比率。\n\n```\nROW TAU()\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toBooleanFunction.markdown": "### TO_BOOLEAN\n入力値をブール値に変換します。\n\n入力は、単一値フィールドまたは複数値フィールド、あるいは式です。入力型は文字列または数値でなければなりません。\n\n文字列値**\"true\"**は、大文字小文字を区別せずにブール値**true**に変換されます。空文字列を含むそれ以外の値に対しては、この関数は**false**を返します。例:\n\n```\nROW str = [\"true\", \"TRuE\", \"false\", \"\", \"yes\", \"1\"]\n| EVAL bool = TO_BOOLEAN(str)\n```\n\n次の結果を返します。\n\n```\n[\"true\", \"TRuE\", \"false\", \"\", \"yes\", \"1\"] | [true, true, false, false, false, false]\n```\n\n数値**0**は**false**に変換され、それ以外は**true**に変換されます。\n\nエイリアス:TO_BOOL\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toCartesianpointFunction.markdown": "### TO_CARTESIANPOINT\n入力値をpoint値に変換します。\n\n入力は、単一値フィールドまたは複数値フィールド、あるいは式です。入力型は文字列または直交座標でなければなりません。\n\n文字列は、[WKT Point](https://en.wikipedia.org/wiki/Well-known_text_representation_of_geometry)形式に従っている場合にのみ、正常に変換されます。\n\n```\nROW wkt = [\"POINT(4297.11 -1475.53)\", \"POINT(7580.93 2272.77)\"]\n| MV_EXPAND wkt\n| EVAL pt = TO_CARTESIANPOINT(wkt)\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toCartesianShapeFunction.markdown": "### TO_CARTESIANSHAPE\n入力値をcartesian_shape値に変換します。\n\n入力は、単一値フィールドまたは複数値フィールド、あるいは式です。入力型は文字列またはcartesian_shapeでなければなりません。\n \n文字列は、[WKT](https://en.wikipedia.org/wiki/Well-known_text_representation_of_geometry)形式に従っている場合にのみ、正常に変換されます。\n \n例:\n \n```\nROW wkt = [\"POINT(4297.11 -1475.53)\", \"POLYGON ((3339584.72 1118889.97, 4452779.63 4865942.27, 2226389.81 4865942.27, 1113194.90 2273030.92, 3339584.72 1118889.97))\"]\n| MV_EXPAND wkt\n| EVAL geom = TO_CARTESIANSHAPE(wkt)\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toDatetimeFunction.markdown": "### TO_DATETIME\n入力値を日付値に変換します。\n\n入力は、単一値フィールドまたは複数値フィールド、あるいは式です。入力型は文字列または数値でなければなりません。\n\n文字列は、yyyy-MM-dd'T'HH:mm:ss.SSS'Z'の書式に従っている場合のみ変換が成功します。例:\n\n```\nROW string = [\"1953-09-02T00:00:00.000Z\", \"1964-06-02T00:00:00.000Z\", \"1964-06-02 00:00:00\"]\n| EVAL datetime = TO_DATETIME(string)\n```\n\n次の結果を返します。\n\n```\n[\"1953-09-02T00:00:00.000Z\", \"1964-06-02T00:00:00.000Z\", \"1964-06-02 00:00:00\"] | [1953-09-02T00:00:00.000Z, 1964-06-02T00:00:00.000Z]\n```\n\nこの例では、ソースの複数値フィールドの最後の値が変換されていません。なぜなら、日付の書式に従っていない場合、変換が**null**値になるからです。\n\n入力パラメーターが数値型の場合、その値はUnixのエポックからのミリ秒として解釈されます。例:\n\n```\nROW int = [0, 1]\n| EVAL dt = TO_DATETIME(int)\n```\n\n次の結果を返します。\n\n```\n[0, 1] | [1970-01-01T00:00:00.000Z, 1970-01-01T00:00:00.001Z]\n```\n\nエイリアス:TO_DT\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toDegreesFunction.markdown": "### TO_DEGREES\nラジアンの数値を度数に変換します。\n\n入力は、単一値フィールドまたは複数値フィールド、あるいは式です。入力型は数値型でなければならず、結果は常にdoubleです。\n\n```\nROW rad = [1.57, 3.14, 4.71]\n| EVAL deg = TO_DEGREES(rad)\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toDoubleFunction.markdown": "### TO_DOUBLE\n入力値をdouble値に変換します。\n\n入力は、単一値フィールドまたは複数値フィールド、あるいは式です。入力型はboolean、date、string、numericのいずれかでなければなりません。\n\n例:\n\n```\nROW str1 = \"5.20128E11\", str2 = \"foo\"\n| EVAL dbl = TO_DOUBLE(\"520128000000\"), dbl1 = TO_DOUBLE(str1), dbl2 = TO_DOUBLE(str2)\n```\n\n次の結果を返します。\n\n```\n5.20128E11 | foo | 5.20128E11 | 5.20128E11 | null\n```\n\nこの例では、文字列の最後の変換ができません。この場合、結果は**null**値になります。\n\n入力パラメーターが日付型の場合、その値はUnixのエポックからのミリ秒として解釈され、doubleに変換されます。\n\nブール値の**true**はdouble値の**1.0**に、**false**は**0.0**に変換されます。\n\nエイリアス:TO_DBL\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toGeopointFunction.markdown": "### TO_GEOPOINT\n入力値をgeo_point値に変換します。\n\n入力は、単一値フィールドまたは複数値フィールド、あるいは式です。入力型は文字列またはgeo_pointでなければなりません。\n\n文字列は、[WKT Point](https://en.wikipedia.org/wiki/Well-known_text_representation_of_geometry)形式に従っている場合にのみ、正常に変換されます。\n\n```\nROW wkt = \"POINT(42.97109630194 14.7552534413725)\"\n| EVAL pt = TO_GEOPOINT(wkt)\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toGeoshapeFunction.markdown": "### TO_GEOSHAPE\n入力値をgeo_shape値に変換します。\n\n入力は、単一値フィールドまたは複数値フィールド、あるいは式です。入力型は文字列またはgeo_shapeでなければなりません。\n\n文字列は、[WKT形式](https://en.wikipedia.org/wiki/Well-known_text_representation_of_geometry)に従っている場合にのみ、正常に変換されます。\n\n例:\n\n```\nROW wkt = \"POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10))\"\n| EVAL geom = TO_GEOSHAPE(wkt)\n```\n\n次の結果を返します。\n\n```\nPOLYGON ((30 10, 40 40, 20 40, 10 20, 30 10)) | POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10))\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toIntegerFunction.markdown": "### TO_INTEGER\n入力値を整数値に変換します。\n\n入力は、単一値フィールドまたは複数値フィールド、あるいは式です。入力型はboolean、date、string、numericのいずれかでなければなりません。\n\n例:\n\n```\nROW long = [5013792, 2147483647, 501379200000]\n| EVAL int = TO_INTEGER(long)\n```\n\n次の結果を返します。\n\n```\n[5013792, 2147483647, 501379200000] | [5013792, 2147483647]\n```\n\nこの例では、複数値フィールドの最後の値は整数として変換できません。この場合、結果は**null**値になります。\n\n入力パラメーターが日付型の場合、その値はUnixのエポックからのミリ秒として解釈され、整数に変換されます。\n\nブール値**true**は整数**1**に、**false**は**0**に変換されます。\n\nエイリアス:TO_INT\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toIpFunction.markdown": "### TO_IP\n入力文字列をIP値に変換します。\n\n入力は、単一値フィールドまたは複数値フィールド、あるいは式です。\n\n例:\n\n```\nROW str1 = \"1.1.1.1\", str2 = \"foo\"\n| EVAL ip1 = TO_IP(str1), ip2 = TO_IP(str2)\n| WHERE CIDR_MATCH(ip1, \"1.0.0.0/8\")\n```\n\n次の結果を返します。\n\n```\n1.1.1.1 | foo | 1.1.1.1 | null\n```\n\n上の例では、文字列の最後の変換ができません。この場合、結果は**null**値になります。\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toLongFunction.markdown": "### TO_LONG\n入力値をlong値に変換します。\n\n入力は、単一値フィールドまたは複数値フィールド、あるいは式です。入力型はboolean、date、string、numericのいずれかでなければなりません。\n\n例:\n\n```\nROW str1 = \"2147483648\", str2 = \"2147483648.2\", str3 = \"foo\"\n| EVAL long1 = TO_LONG(str1), long2 = TO_LONG(str2), long3 = TO_LONG(str3)\n```\n\n次の結果を返します。\n\n```\n2147483648 | 2147483648.2 | foo | 2147483648 | 2147483648 | null\n```\n\nこの例では、文字列の最後の変換ができません。この場合、結果は**null**値になります。\n\n入力パラメーターが日付型の場合、その値はUnixのエポックからのミリ秒として解釈され、整数に変換されます。\n\nブール値のtrueはlong値の1に、falseは0に変換されます。\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toLowerFunction.markdown": "### TO_LOWER\n小文字に変換された入力文字列を表す新しい文字列を返します。\n例:\n \n```\nROW message = \"Some Text\" \n| EVAL message_lower = TO_LOWER(message)\n```\n\n次の結果を返します。\n\n```\nSome Text | some text\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toRadiansFunction.markdown": "### TO_RADIANS\n度数をラジアンに変換します。\n\n入力は、単一値フィールドまたは複数値フィールド、あるいは式です。入力型は数値型でなければならず、結果は常にdoubleです。\n\n```\nROW deg = [90.0, 180.0, 270.0]\n| EVAL rad = TO_RADIANS(deg)\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toStringFunction.markdown": "### TO_STRING\nフィールドを文字列に変換します。例:\n\n```\nROW a=10\n| EVAL j = TO_STRING(a)\n```\n\nまた、複数値フィールドでも問題なく機能します。\n\n```\nROW a=[10, 9, 8]\n| EVAL j = TO_STRING(a)\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toUnsignedLongFunction.markdown": "### TO_UNSIGNED_LONG\n入力値を符号なしlong値に変換します。\n\n入力は、単一値フィールドまたは複数値フィールド、あるいは式です。入力型はboolean、date、string、numericのいずれかでなければなりません。\n\n```\nROW str1 = \"2147483648\", str2 = \"2147483648.2\", str3 = \"foo\"\n| EVAL long1 = TO_UNSIGNED_LONG(str1), long2 = TO_ULONG(str2), long3 = TO_UL(str3)\n```\n\nこの例では、文字列の最後の変換ができません。この場合、結果は**null**値になります。この場合、応答にWarningヘッダーが追加されます。ヘッダーには、障害の原因に関する情報が記載されます。\n\n```\n\"Line 1:133: evaluation of [TO_UL(str3)] failed, treating result as null.Only first 20 failures recorded.\"\n```\n\n次のヘッダーには、失敗の理由と問題のある値が含まれます。\n\n```\n\"java.lang.NumberFormatException:Character f is neither a decimal digit number, decimal point, nor \"e\" notation exponential mark.\"\n```\n\n入力パラメーターが日付型の場合、その値はUnixのエポックからのミリ秒として解釈され、符号なしlong値に変換されます。\n\nブール値のtrueは符号なしlong値の1に、falseは0に変換されます。\n\nエイリアス:TO_ULONG, TO_UL\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toUpperFunction.markdown": "### TO_UPPER\n大文字に変換された入力文字列を表す新しい文字列を返します。\n\n例:\n\n```\nROW message = \"Some Text\" \n| EVAL message_upper = TO_UPPER(message)\n```\n\n次の結果を返します。\n\n```\nSome Text | SOME TEXT\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toVersionFunction.markdown": "### TO_VERSION\n入力文字列をバージョン値に変換します。例:\n\n```\nROW v = TO_VERSION(\"1.2.3\")\n```\n\n次の結果を返します。\n\n```\n1.2.3\n```\n\nエイリアス:TO_VER\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.trimFunction.markdown": "### TRIM\n文字列から先頭と末尾の空白を削除します。\n\n```\nROW message = \" some text \", color = \" red \"\n| EVAL message = TRIM(message)\n| EVAL color = TRIM(color)\n```\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.where.markdown": "### WHERE\nWHEREを使用すると、入力テーブルから、指定した条件がtrueと評価されるすべての行を含むテーブルを作成します。\n \n```\nFROM employees\n| KEEP first_name, last_name, still_hired\n| WHERE still_hired == true\n```\n\n#### 演算子\n\nサポートされている演算子の概要については、**演算子**を参照してください。\n\n#### 関数\nWHEREは値を計算するためのさまざまな関数をサポートしています。**関数**をクリックすると詳細が表示されます。\n ", "textBasedEditor.query.textBasedLanguagesEditor.aborted": "リクエストが中断されました", "textBasedEditor.query.textBasedLanguagesEditor.aggregationFunctions": "集約関数", @@ -6272,105 +6203,36 @@ "textBasedEditor.query.textBasedLanguagesEditor.cancel": "キャンセル", "textBasedEditor.query.textBasedLanguagesEditor.commandsDescription": "通常、ソースコマンドはElasticsearchのデータを使ってテーブルを生成します。ES|QLは以下のソースコマンドをサポートしています。", "textBasedEditor.query.textBasedLanguagesEditor.disableWordWrapLabel": "パイプの改行を削除", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction": "ABS", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.acosFunction": "ACOS", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.asinFunction": "ASIN", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.atan2Function": "ATAN2", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.atanFunction": "ATAN", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.autoBucketFunction": "AUTO_BUCKET", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.avgFunction": "AVG", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.binaryOperators": "バイナリ演算子", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.booleanOperators": "ブール演算子", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.caseFunction": "CASE", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.ceilFunction": "CEIL", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.cidrMatchFunction": "CIDR_MATCH", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.coalesceFunction": "COALESCE", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.concatFunction": "CONCAT", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.cosFunction": "COS", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.coshFunction": "COSH", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.countDistinctFunction": "COUNT_DISTINCT", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.countFunction": "COUNT", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.dateDiffFunction": "DATE_DIFF", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.dateExtractFunction": "DATE_EXTRACT", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.dateFormatFunction": "DATE_FORMAT", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.dateParseFunction": "DATE_PARSE", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.dateTruncFunction": "DATE_TRUNC", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.dissect": "DISSECT", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.drop": "DROP", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.eFunction": "E", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.endsWithFunction": "ENDS_WITH", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.enrich": "ENRICH", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.eval": "EVAL", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.floorFunction": "FLOOR", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.from": "FROM", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.greatestFunction": "GREATEST", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.grok": "GROK", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.inOperator": "IN", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.keep": "KEEP", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.leastFunction": "LEAST", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.leftFunction": "LEFT", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.lengthFunction": "LENGTH", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.limit": "LIMIT", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.log10Function": "LOG10", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.ltrimunction": "LTRIM", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.maxFunction": "MAX", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.medianAbsoluteDeviationFunction": "MEDIAN_ABSOLUTE_DEVIATION", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.medianFunction": "MEDIAN", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.minFunction": "MIN", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvAvgFunction": "MV_AVG", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvConcatFunction": "MV_CONCAT", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvCountFunction": "MV_COUNT", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvDedupeFunction": "MV_DEDUPE", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvExpand": "MV_EXPAND", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvFirstFunction": "MV_FIRST", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvLastFunction": "MV_LAST", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvMaxFunction": "MV_MAX", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvMedianFunction": "MV_MEDIAN", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvMinFunction": "MV_MIN", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvSumFunction": "MV_SUM", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.nowFunction": "NOW", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.percentileFunction": "PERCENTILE", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.piFunction": "PI", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.powFunction": "POW", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.predicates": "NULL値", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.rename": "RENAME", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.rightFunction": "RIGHT", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.roundFunction": "ROUND", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.row": "ROW", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.rtrimFunction": "RTRIM", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.show": "SHOW", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.sinFunction": "SIN", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.sinhFunction": "SINH", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.sort": "SORT", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.splitFunction": "SPLIT", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.sqrtFunction": "SQRT", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.startsWithFunction": "STARTS_WITH", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.statsby": "STATS ...BY", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.stCentroidFunction": "ST_CENTROID", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.stringOperators": "LIKEおよびRLIKE", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.substringFunction": "SUBSTRING", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.sumFunction": "SUM", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.tanFunction": "TAN", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.tanhFunction": "TANH", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.tauFunction": "TAU", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toBooleanFunction": "TO_BOOLEAN", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toCartesianpointFunction": "TO_CARTESIANPOINT", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toCartesianShapeFunction": "TO_CARTESIANSHAPE", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toDatetimeFunction": "TO_DATETIME", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toDegreesFunction": "TO_DEGREES", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toDoubleFunction": "TO_DOUBLE", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toGeopointFunction": "TO_GEOPOINT", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toGeoshapeFunction": "TO_GEOSHAPE", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toIntegerFunction": "TO_INTEGER", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toIpFunction": "TO_IP", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toLongFunction": "TO_LONG", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toLowerFunction": "TO_LOWER", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toRadiansFunction": "TO_RADIANS", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toStringFunction": "TO_STRING", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toUnsignedLongFunction": "TO_UNSIGNED_LONG", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toUpperFunction": "TO_UPPER", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toVersionFunction": "TO_VERSION", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.trimFunction": "TRIM", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.where": "WHERE", "textBasedEditor.query.textBasedLanguagesEditor.documentationLabel": "ドキュメント", "textBasedEditor.query.textBasedLanguagesEditor.EnableWordWrapLabel": "パイプの改行を追加", diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json index 10435bf1bdfc8..5b45a36d52a2f 100644 --- a/x-pack/plugins/translations/translations/zh-CN.json +++ b/x-pack/plugins/translations/translations/zh-CN.json @@ -6180,106 +6180,37 @@ "textBasedEditor.query.textBasedLanguagesEditor.lineCount": "{count} {count, plural, other {行}}", "textBasedEditor.query.textBasedLanguagesEditor.lineNumber": "第 {lineNumber} 行", "textBasedEditor.query.textBasedLanguagesEditor.warningCount": "{count} 个{count, plural, other {警告}}", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction.markdown": "### ABS\n返回绝对值。\n\n```\nFROM employees\n| KEEP first_name, last_name, height\n| EVAL abs_height = ABS(0.0 - height)\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.acosFunction.markdown": "### ACOS\n反余弦三角函数。\n\n```\nROW a=.9\n| EVAL acos=ACOS(a)\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.asinFunction.markdown": "### ASIN\n反正弦三角函数。\n\n```\nROW a=.9\n| EVAL asin=ASIN(a)\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.atan2Function.markdown": "### ATAN2\n笛卡儿平面中正 x 轴与从原点到点 (x , y) 构成的射线之间的角度。\n\n```\nROW y=12.9, x=.6\n| EVAL atan2=ATAN2(y, x)\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.atanFunction.markdown": "### ATAN\n反正切三角函数。\n\n```\nROW a=12.9\n| EVAL atan=ATAN(a)\n```\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.autoBucketFunction.markdown": "### AUTO_BUCKET\n创建易于使用的存储桶,并为与生成的存储桶(行位于其中)对应的每一行返回一个 `datetime` 值。组合 `AUTO_BUCKET` 与 `STATS ...BY` 可创建日期直方图。\n\n您提供存储桶的目标数量、开始日期和结束日期,然后它会选取适当的存储桶大小以生成目标数量或更小数量的存储桶。例如,此命令要求一整年最多 20 个存储桶,因此月选取月度存储桶数:\n\n```\nROW date=TO_DATETIME(\"1985-07-09T00:00:00.000Z\")\n| EVAL bucket=AUTO_BUCKET(date, 20, \"1985-01-01T00:00:00Z\", \"1986-01-01T00:00:00Z\")\n```\n\n返回:\n```\n1985-07-09T00:00:00.000Z | 1985-07-01T00:00:00.000Z\n```\n\n目标不是提供存储桶的*准确*目标数量,而是选取\n一个令人满意的范围,以提供最大目标数量的\n存储桶。\n\n如果需要更多存储桶,`AUTO_BUCKET` 可以选取更小的范围。例如,\n如果一年内最多需要 100 个存储桶,则选取每周存储桶数:\n\n```\nROW date=TO_DATETIME(\"1985-07-09T00:00:00.000Z\")\n| EVAL bucket=AUTO_BUCKET(date, 100, \"1985-01-01T00:00:00Z\", \"1986-01-01T00:00:00Z\")\n```\n\n返回:\n```\n1985-07-09T00:00:00.000Z | 1985-07-08T00:00:00.000Z\n```\n\n`AUTO_BUCKET` 不筛选任何行。它只会使用提供的时间范围来选取适当的存储桶大小。对于日期超出范围的行,它会返回与超出范围的存储桶对应的日期时间。组合 `AUTO_BUCKET` 与 `WHERE` 可筛选行。\n\n更完整的示例类似于:\n\n```\nFROM employees\n| WHERE hire_date >= \"1985-01-01T00:00:00Z\" AND hire_date < \"1986-01-01T00:00:00Z\"\n| EVAL bucket = AUTO_BUCKET(hire_date, 20, \"1985-01-01T00:00:00Z\", \"1986-01-01T00:00:00Z\")\n| STATS AVG(salary) BY bucket\n| SORT bucket\n```\n\n返回:\n```\n46305.0 | 1985-02-01T00:00:00.000Z\n44817.0 | 1985-05-01T00:00:00.000Z\n62405.0 | 1985-07-01T00:00:00.000Z\n49095.0 | 1985-09-01T00:00:00.000Z\n51532.0 | 1985-10-01T00:00:00.000Z\n54539.75 | 1985-11-01T00:00:00.000\n```\n\n注意:`AUTO_BUCKET` 不会创建与任何文档都不匹配的存储桶。因此,上面的示例缺少 1985-03-01 和其他日期。\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.avgFunction.markdown": "### AVG\n返回数字字段的平均值。\n\n```\nFROM employees\n| STATS AVG(height)\n```\n\n此表达式可使用内联函数。例如,要计算一个多值列的平均值,应首先使用 `MV_AVG` 对每行的多个值求平均值,然后将结果用于 `AVG` 函数:\n\n```\nFROM employees\n| STATS avg_salary_change = AVG(MV_AVG(salary_change))\n```\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.binaryOperators.markdown": "### 二进制运算符\n支持这些二进制比较运算符:\n\n* 等于:`==`\n* 不区分大小写等于 `=~`\n* 不等于:`!=`\n* 小于:`<`\n* 小于或等于:`<=`\n* 大于:`>`\n* 大于或等于:`>=`\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.booleanOperators.markdown": "### 布尔运算符\n支持以下布尔运算符:\n\n* `AND`\n* `OR`\n* `NOT`\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.caseFunction.markdown": "### CASE\n接受成对的条件和值。此函数返回属于第一个评估为 `true` 的条件的值。如果参数数量为奇数,则最后一个参数为在无条件匹配时返回的默认值。\n\n```\nFROM employees\n| EVAL type = CASE(\n languages <= 1, \"monolingual\",\n languages <= 2, \"bilingual\",\n \"polyglot\")\n| KEEP first_name, last_name, type\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.ceilFunction.markdown": "### CEIL\n将数字四舍五入为最近的整数。\n\n```\nROW a=1.8\n| EVAL a=CEIL(a)\n```\n\n注意:对于 `long`(包括无符号值)和 `integer`,这相当于“无操作”。对于 `double`,这会提取最接近整数的 `double` 值,类似于 Java 的 `Math.ceil`。\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.cidrMatchFunction.markdown": "### CIDR_MATCH\n如果提供的 IP 包含在所提供的其中一个 CIDR 块中,则返回 `true`。\n\n`CIDR_MATCH` 接受两个或多个参数。第一个参数为 `ip` 类型的 IP 地址(支持 IPv4 和 IPv6)。后续参数为根据其测试 IP 的 CIDR 块。\n\n```\nFROM hosts\n| WHERE CIDR_MATCH(ip, \"127.0.0.2/32\", \"127.0.0.3/32\")\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.coalesceFunction.markdown": "### COALESCE\n返回第一个非 null 值。\n\n```\nROW a=null, b=\"b\"\n| EVAL COALESCE(a, b)\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.concatFunction.markdown": "### CONCAT\n串联两个或多个字符串。\n\n```\nFROM employees\n| KEEP first_name, last_name, height\n| EVAL fullname = CONCAT(first_name, \" \", last_name)\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.cosFunction.markdown": "### COS\n余弦三角函数。\n\n```\nROW a=1.8\n| EVAL cos=COS(a)\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.coshFunction.markdown": "### COSH\n余弦双曲函数。\n\n```\nROW a=1.8\n| EVAL cosh=COSH(a)\n```\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.countDistinctFunction.markdown": "### COUNT_DISTINCT\n对不同值的近似数进行计数。\n\n```\nFROM hosts\n| STATS COUNT_DISTINCT(ip0), COUNT_DISTINCT(ip1)\n```\n\n`COUNT_DISTINCT` 函数为基于 HyperLogLog++ 算法的近似计算。请参阅此[文档](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-metrics-cardinality-aggregation.html#_counts_are_approximate)了解更多信息。精确度可使用可选的第二个参数进行配置。支持的最大值为 40000。高于此数字的阈值与阈值 40000 的效果相同。默认值为 3000。\n\n```\nFROM hosts\n| STATS COUNT_DISTINCT(ip0, 80000), COUNT_DISTINCT(ip1, 5)\n```\n\n此表达式可使用内联函数。此示例会使用 `SPLIT` 函数将字符串拆分成多个值,并对唯一值进行计数:\n\n```\nROW words=\"foo;bar;baz;qux;quux;foo\"\n| STATS distinct_word_count = COUNT_DISTINCT(SPLIT(words, \";\"))\n```\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.countFunction.markdown": "### COUNT\n返回输入值的总数(计数)。\n\n```\nFROM employees\n| STATS COUNT(height)\n```\n\n可接受任何字段类型作为输入。\n\n要计算行数,请使用 `COUNT()` 或 `COUNT(*)`:\n\n```\nFROM employees\n| STATS count = COUNT(*) BY languages\n| SORT languages DESC\n```\n\n此表达式可使用内联函数。此示例会使用 `SPLIT` 函数将字符串拆分成多个值,并对值进行计数:\n\n```\nROW words=\"foo;bar;baz;qux;quux;foo\"\n| STATS word_count = COUNT(SPLIT(words, \";\"))\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.dateDiffFunction.markdown": "### DATE_DIFF\n从 `endTimestamp` 中减去 `startTimestamp`,并以倍数单位返回差异。如果 `startTimestamp` 晚于 `endTimestamp`,则返回负值。\n \n```\nROW date1 = TO_DATETIME(\"2023-12-02T11:00:00.000Z\"), date2 = TO_DATETIME(\"2023-12-02T11:00:00.001Z\")\n| EVAL dd_ms = DATE_DIFF(\"microseconds\", date1, date2)\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.dateExtractFunction.markdown": "### DATE_EXTRACT\n提取日期的某些部分,如年、月、日、小时。支持的字段类型为 Java 的 `java.time.temporal.ChronoField` 提供的那些类型。\n\n```\nROW date = DATE_PARSE(\"yyyy-MM-dd\", \"2022-05-06\")\n| EVAL year = DATE_EXTRACT(\"year\", date)\n```\n\n例如,要查找任何给定日期在营业时间以外(上午 9 点前或下午 5 点后)发生的事件:\n\n```\nFROM sample_data\n| WHERE DATE_EXTRACT(\"hour_of_day\", @timestamp) < 9 AND DATE_EXTRACT(\"hour_of_day\", @timestamp) >= 17\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.dateFormatFunction.markdown": "### DATE_FORMAT\n以提供的格式返回日期的字符串表示形式。如果未指定格式,则使用 `yyyy-MM-dd'T'HH:mm:ss.SSSZ` 格式。\n\n```\nFROM employees\n| KEEP first_name, last_name, hire_date\n| EVAL hired = DATE_FORMAT(\"YYYY-MM-dd\", hire_date)\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.dateParseFunction.markdown": "### DATE_PARSE\n通过使用在第一个参数中指定的格式来解析第二个参数,从而返回日期。如果未指定格式,则使用 `yyyy-MM-dd'T'HH:mm:ss.SSSZ` 格式。\n请参阅 [`DateTimeFormatter` 文档](https://docs.oracle.com/en/java/javase/14/docs/api/java.base/java/time/format/DateTimeFormatter.html) 了解语法。\n```\nROW date_string = \"2022-05-06\"\n| EVAL date = DATE_PARSE(\"yyyy-MM-dd\", date_string)\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.dateTruncFunction.markdown": "### DATE_TRUNC\n将日期向下舍入到最近的时间间隔。\n\n```\nFROM employees\n| EVAL year_hired = DATE_TRUNC(1 year, hire_date)\n| STATS count(emp_no) BY year_hired\n| SORT year_hired\n```\n\n时间间隔可以用时间跨度文本语法表示。时间跨度文本是数字和修饰词的组合。支持这些修饰词:\n\n* `millisecond`/milliseconds\n* `second`/`seconds`\n* `minute`/`minutes`\n* `hour`/`hours`\n* `day`/`days`\n* `week`/`weeks`\n* `month`/`months`\n* `year`/`years`\n\n时间跨度文本不区分空格。这些表达式均有效:\n\n* `1day`\n* `1 day`\n* `1 day`\n\n组合 `DATE_TRUNC` 与 `STATS ...BY` 可创建日期直方图。例如,要返回每年的雇佣人数:\n\n```\nFROM employees\n| EVAL year = DATE_TRUNC(1 year, hire_date)\n| STATS hires = COUNT(emp_no) BY year\n| SORT year\n```\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.dissect.markdown": "### DISSECT\n使用 `DISSECT`,您可以从字符串中提取结构化数据。`DISSECT` 将根据基于分隔符的模式来匹配字符串,并提取指定键作为列。\n\n请参阅[分解处理器文档](https://www.elastic.co/guide/en/elasticsearch/reference/current/dissect-processor.html)了解分解模式的语法。\n\n```\nROW a = \"1953-01-23T12:15:00Z - some text - 127.0.0.1\"\n| DISSECT a \"%\\{Y\\}-%\\{M\\}-%\\{D\\}T%\\{h\\}:%\\{m\\}:%\\{s\\}Z - %\\{msg\\} - %\\{ip\\}\"\n```\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.drop.markdown": "### DROP\n使用 `DROP` 可从表中移除列:\n \n```\nFROM employees\n| DROP height\n```\n\n您不必按名称指定每个列,而可以使用通配符丢弃名称匹配某种模式的所有列:\n\n```\nFROM employees\n| DROP height*\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.eFunction.markdown": "### E\nEuler 函数的编号。\n\n```\nROW E()\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.endsWithFunction.markdown": "### ENDS_WITH\n返回布尔值,指示关键字字符串是否以另一个字符串结尾:\n\n```\nFROM employees\n| KEEP last_name\n| EVAL ln_E = ENDS_WITH(last_name, \"d\")\n```\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.enrich.markdown": "### ENRICH\n您可以使用 `ENRICH` 将来自现有索引的数据添加到传入记录中。它类似于[采集扩充](https://www.elastic.co/guide/en/elasticsearch/reference/current/ingest-enriching-data.html),但作用于查询时间。\n\n```\nROW language_code = \"1\"\n| ENRICH languages_policy\n```\n\n执行 `ENRICH` 需要[扩充策略](https://www.elastic.co/guide/en/elasticsearch/reference/current/ingest-enriching-data.html#enrich-policy)。扩充策略定义一个匹配字段(键字段)和一组扩充字段。\n\n`ENRICH` 将根据匹配字段值在[扩充索引](https://www.elastic.co/guide/en/elasticsearch/reference/current/ingest-enriching-data.html#enrich-index)中查找记录。输入数据集中的匹配键可以使用 `ON ` 来定义;如果未指定,将对字段名称与在扩充策略中定义的匹配字段相同的字段执行匹配。\n\n```\nROW a = \"1\"\n| ENRICH languages_policy ON a\n```\n\n您可以使用 `WITH , ...` 语法指定必须将哪些属性(在那些在策略中定义为扩充字段的字段之间)添加到结果中。\n\n```\nROW a = \"1\"\n| ENRICH languages_policy ON a WITH language_name\n```\n\n还可以使用 `WITH new_name=` 重命名属性\n\n```\nROW a = \"1\"\n| ENRICH languages_policy ON a WITH name = language_name\n```\n\n默认情况下(如果未定义任何 `WITH`),`ENRICH` 会将在扩充策略中定义的所有扩充字段添加到结果中。\n\n如果出现名称冲突,新创建的字段将覆盖现有字段。\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.eval.markdown": "### EVAL\n`EVAL` 允许您添加新列:\n\n```\nFROM employees\n| KEEP first_name, last_name, height\n| EVAL height_feet = height * 3.281, height_cm = height * 100\n```\n\n如果指定列已存在,将丢弃现有列,并将新列追加到表后面:\n\n```\nFROM employees\n| KEEP first_name, last_name, height\n| EVAL height = height * 3.281\n```\n\n#### 函数\n`EVAL` 支持各种用于计算值的函数。请参阅“函数”了解更多信息。\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.floorFunction.markdown": "### FLOOR\n将数字向下舍入到最近的整数。\n\n```\nROW a=1.8\n| EVAL a=FLOOR(a)\n```\n\n注意:对于 `long`(包括无符号值)和 `integer`,这相当于“无操作”。对于 `double`,这会提取最接近整数的 `double` 值,类似于 Java 的 `Math.floor`。\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.from.markdown": "### FROM\n`FROM` 源命令返回一个表,其中最多包含 10,000 个来自数据流、索引或别名的文档。生成的表中的每一行代表一个文档。每一列对应一个字段,并可以通过该字段的名称进行访问。\n\n```\nFROM employees\n```\n\n您可以使用[日期数学表达式](https://www.elastic.co/guide/en/elasticsearch/reference/current/api-conventions.html#api-date-math-index-names)来引用索引、别名和数据流。这可能对时间序列数据非常有用。\n\n使用逗号分隔列表或通配符可查询多个数据流、索引或别名:\n\n```\nFROM employees-00001,employees-*\n```\n\n#### 元数据\n\nES|QL 可访问以下元数据字段:\n\n* `_index`:文档所属的索引。字段类型为 `keyword`.\n* `_id`:源文档的 ID。字段类型为 `keyword`.\n* `_version`:源文档的版本。字段类型为 `long`。\n\n使用 `METADATA` 指令可启用元数据字段:\n\n```\nFROM index [METADATA _index, _id]\n```\n\n元数据字段仅在数据源为索引时可用。因此,`FROM` 是唯一支持 `METADATA` 指令的源命令。\n\n启用后,这些字段将可用于后续处理命令,就像其他索引字段一样:\n\n```\nFROM ul_logs, apps [METADATA _index, _version]\n| WHERE id IN (13, 14) AND _version == 1\n| EVAL key = CONCAT(_index, \"_\", TO_STR(id))\n| SORT id, _index\n| KEEP id, _index, _version, key\n```\n\n此外,与索引字段类似,一旦执行了聚合,后续命令将无法再访问元数据字段,除非它用作分组字段:\n\n```\nFROM employees [METADATA _index, _id]\n| STATS max = MAX(emp_no) BY _index\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.greatestFunction.markdown": "### GREATEST\n返回许多列中的最大值。除了可一次对多个列运行以外,此函数与 `MV_MAX` 类似。\n\n```\nROW a = 10, b = 20\n| EVAL g = GREATEST(a, b);\n```\n\n注意,对 `keyword` 或 `text` 字段运行时,此函数将按字母顺序返回最后一个字符串。对 `boolean` 列运行时,如果任何值为 `true`,此函数将返回 `true`。\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.grok.markdown": "### GROK\n使用 `GROK`,您可以从字符串中提取结构化数据。`GROK` 将基于正则表达式根据模式来匹配字符串,并提取指定模式作为列。\n\n请参阅 [grok 处理器文档](https://www.elastic.co/guide/en/elasticsearch/reference/current/grok-processor.html)了解 grok 模式的语法。\n\n```\nROW a = \"12 15.5 15.6 true\"\n| GROK a \"%\\{NUMBER:b:int\\} %\\{NUMBER:c:float\\} %\\{NUMBER:d:double\\} %\\{WORD:e:boolean\\}\"\n```\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.inOperator.markdown": "### IN\n`IN` 运算符允许测试字段或表达式是否等于文本、字段或表达式列表中的元素:\n\n```\nROW a = 1, b = 4, c = 3\n| WHERE c-a IN (3, b / 2, a)\n```\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.keep.markdown": "### KEEP\n使用 `KEEP` 命令,您可以指定将返回哪些列以及返回这些列的顺序。\n\n要限制返回的列数,请使用列名的逗号分隔列表。将按指定顺序返回这些列:\n \n```\nFROM employees\n| KEEP first_name, last_name, height\n```\n\n您不必按名称指定每个列,而可以使用通配符返回名称匹配某种模式的所有列:\n\n```\nFROM employees\n| KEEP h*\n```\n\n星号通配符 (`*`) 自身将转换为不与其他参数匹配的所有列。此查询将首先返回所有名称以 h 开头的所有列,随后返回所有其他列:\n\n```\nFROM employees\n| KEEP h*, *\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.leastFunction.markdown": "### LEAST\n返回许多列中的最小值。除了可一次对多个列运行以外,此函数与 `MV_MIN` 类似。\n\n```\nROW a = 10, b = 20\n| EVAL l = LEAST(a, b)\n```\n\n注意,对 `keyword` 或 `text` 字段运行时,此函数将按字母顺序返回第一个字符串。对 `boolean` 列运行时,如果任何值为 `false`,此函数将返回 `false`。\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.leftFunction.markdown": "### LEFT\n返回从 `string` 中提取 `length` 字符的子字符串,从左侧开始。\n\n```\nFROM employees\n| KEEP last_name\n| EVAL left = LEFT(last_name, 3)\n| SORT last_name ASC\n| LIMIT 5\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.lengthFunction.markdown": "### LENGTH\n返回字符串的字符长度。\n\n```\nFROM employees\n| KEEP first_name, last_name, height\n| EVAL fn_length = LENGTH(first_name)\n```\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.limit.markdown": "### LIMIT\n`LIMIT` 处理命令允许您限制行数:\n \n```\nFROM employees\n| LIMIT 5\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.log10Function.markdown": "### LOG10\n返回对数底数 10。输入可以为任何数字值,返回值始终为双精度值。\n\n负数的对数为 NaN。无穷大的对数为无穷大,就像 0 的对数一样。\n\n```\nROW d = 1000.0\n| EVAL s = LOG10(d)\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.ltrimFunction.markdown": "### LTRIM\n从字符串中移除前导空格。\n\n```\nROW message = \" some text \", color = \" red \"\n| EVAL message = LTRIM(message)\n| EVAL color = LTRIM(color)\n| EVAL message = CONCAT(\"'\", message, \"'\")\n| EVAL color = CONCAT(\"'\", color, \"'\")\n```\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.markdown": "## ES|QL\n\nES|QL(Elasticsearch 查询语言)查询包含一系列命令,它们用管道字符分隔:`|`。每个查询以**源命令**开头,它会生成一个表,其中通常包含来自 Elasticsearch 的数据。\n\n源命令可后接一个或多个**处理命令**。处理命令可通过添加、移除以及更改行和列来更改前一个命令的输出表。\n\n```\nsource-command\n| processing-command1\n| processing-command2\n```\n\n查询的结果为由最后的处理命令生成的表。 \n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.maxFunction.markdown": "### MAX\n返回数字表达式的最大值。\n\n```\nFROM employees\n| STATS MAX(languages)\n```\n\n此表达式可使用内联函数。例如,要计算一个多值列的平均值的最大值,应首先使用 `MV_AVG` 对每行的多个值求平均值,然后将结果用于 `MAX` 函数:\n\n```\nFROM employees\n| STATS max_avg_salary_change = MAX(MV_AVG(salary_change))\n```\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.medianAbsoluteDeviationFunction.markdown": "### MEDIAN_ABSOLUTE_DEVIATION\n返回中位数绝对偏差,衡量可变性。这是一种稳健统计,意味着它可用于描述可能包含离群值,或可能不是正态分布的数据。对于此类数据,它比标准偏差更具描述性。\n\n它计算为每个数据点的中位数与整个样例的中位数的偏差。也就是说,对于随机变量 X,中位数绝对偏差为 `median(|median(X) - X|)`。\n\n```\nFROM employees\n| STATS MEDIAN(salary), MEDIAN_ABSOLUTE_DEVIATION(salary)\n```\n\n注意:与 `PERCENTILE` 一样,`MEDIAN_ABSOLUTE_DEVIATION` 通常为基于 TDigest 算法的近似计算。`MEDIAN_ABSOLUTE_DEVIATION` 也具有非确定性。这意味着,即使使用相同的数据,但您得到的结果可能会略有不同。\n\n此表达式可使用内联函数。例如,要计算一个多值列的最大值的中位数绝对偏差,应首先使用 `MV_MAX` 获取每行的最大值,然后将结果用于 `MEDIAN_ABSOLUTE_DEVIATION` 函数:\n\n```\nFROM employees\n| STATS m_a_d_max_salary_change = MEDIAN_ABSOLUTE_DEVIATION(MV_MAX(salary_change))\n```\n\n", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.medianFunction.markdown": "### MEDIAN\n返回大于所有值的一半且小于所有值的一半的值,也称为 50% `PERCENTILE`。\n\n**注意:**与 `PERCENTILE` 一样,`MEDIAN` 通常为基于 TDigest 算法的近似计算。\n\n**警告:** `MEDIAN` 也具有[非确定性](https://en.wikipedia.org/wiki/Nondeterministic_algorithm)。这意味着,即使使用相同的数据,但您得到的结果可能会略有不同。\n\n例如:\n\n```\nFROM employees\n| STATS MEDIAN(salary), PERCENTILE(salary, 50)\n```\n\n此表达式可使用内联函数。例如,要计算一个多值列的最大值的中位数,应首先使用 `MV_MAX` 获取每行的最大值,然后将结果用于 `MEDIAN` 函数:\n\n```\nFROM employees\n| STATS median_max_salary_change = MEDIAN(MV_MAX(salary_change))\n```\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.minFunction.markdown": "### MIN\n返回数字字段的最小值。\n\n```\nFROM employees\n| STATS MIN(languages)\n```\n\n此表达式可使用内联函数。例如,要计算一个多值列的平均值的最小值,应首先使用 `MV_AVG` 对每行的多个值求平均值,然后将结果用于 `MIN` 函数:\n\n```\nFROM employees\n| STATS min_avg_salary_change = MIN(MV_AVG(salary_change))\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvAvgFunction.markdown": "### MV_AVG\n将多值字段转换为包含所有值的平均值的单值字段。例如:\n\n```\nROW a=[3, 5, 1, 6]\n| EVAL avg_a = MV_AVG(a)\n```\n\n返回:\n\n```\n[3, 5, 1, 6] | 3.75\n```\n\n注意:输出类型始终为双精度值,输入类型可以为任何数字。\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvConcatFunction.markdown": "### MV_CONCAT\n将多值字段转换为单值字段,其中包含由分隔符分隔的所有值的串联形式:\n\n```\nROW a=[\"foo\", \"zoo\", \"bar\"]\n| EVAL j = MV_CONCAT(a, \", \")\n```\n\n返回:\n\n```\n[\"foo\", \"zoo\", \"bar\"] | \"foo, zoo, bar\"\n```\n\n如果想要联接非字符串字段,请先对它们调用 `TO_STRING`:\n\n```\nROW a=[10, 9, 8]\n| EVAL j = MV_CONCAT(TO_STRING(a), \", \")\n```\n\n返回:\n\n```\n[10, 9, 8] | \"10, 9, 8\"\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvCountFunction.markdown": "### MV_COUNT\n将多值字段转换为包含值计数的单值字段:\n\n```\nROW a=[\"foo\", \"zoo\", \"bar\"]\n| EVAL count_a = MV_COUNT(a)\n```\n\n返回:\n\n```\n[\"foo\", \"zoo\", \"bar\"] | 3\n```\n\n注意:此函数接受所有类型并始终返回整数。\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvDedupeFunction.markdown": "### MV_DEDUPE\n移除多值字段中的重复项。例如:\n\n```\nROW a=[\"foo\", \"foo\", \"bar\", \"foo\"]\n| EVAL dedupe_a = MV_DEDUPE(a)\n```\n\n返回:\n\n```\n[\"foo\", \"foo\", \"bar\", \"foo\"] | [\"foo\", \"bar\"]\n```\n\n注意:`MV_DEDUPE` 可能但不会始终对字段中的值进行排序。\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvExpand.markdown": "### MV_EXPAND\n`MV_EXPAND` 处理命令将多值字段扩展成每个值一行,从而复制其他字段: \n```\nROW a=[1,2,3], b=\"b\", j=[\"a\",\"b\"]\n| MV_EXPAND a\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvFirstFunction.markdown": "### MV_FIRST\n将多值字段转换为包含第一个值的单值字段。这在从按已知顺序发出多值字段的函数(如 `SPLIT`)中读取数据时尤其有用。\n\n例如:\n\n```\nROW a=\"foo;bar;baz\" \n| EVAL first_a = MV_FIRST(SPLIT(a, \";\"))\n```\n\n返回:\n\n```\nfoo;bar;baz | foo\n```\n\n无法保证从底层存储读取[多值字段](https://www.elastic.co/guide/en/elasticsearch/reference/current/esql-multivalued-fields.html) 的顺序。它通常为升序,但不应依赖于此。如果需要最小字段值,请使用 `MV_MIN` 而不是 `MV_FIRST`。`MV_MIN` 针对排序值进行了优化,因此对 `MV_FIRST` 没有性能优势。`MV_FIRST` 对 `SPLIT` 等创建多值字段的函数尤其有用。\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvLastFunction.markdown": "### MV_LAST\n将多值字段转换为包含最后一个值的单值字段。这在从按已知顺序发出多值字段的函数(如 `SPLIT`)中读取数据时尤其有用:\n \n```\nROW a=\"foo;bar;baz\" \n| EVAL first_a = MV_LAST(SPLIT(a, \";\"))\n```\n\n返回:\n\n```\nfoo;bar;baz | baz\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvMaxFunction.markdown": "### MV_MAX\n将多值字段转换为包含最大值的单值字段。例如:\n\n```\nROW a=[3, 5, 1]\n| EVAL max_a = MV_MAX(a)\n```\n\n返回:\n\n```\n[3, 5, 1] | 5\n```\n\n可由任何字段类型使用,包括 `keyword` 字段。在该情况下,将选取最后一个字符串,逐字节比较其 utf-8 表示形式:\n\n```\nROW a=[\"foo\", \"zoo\", \"bar\"]\n| EVAL max_a = MV_MAX(a)\n```\n\n返回:\n\n```\n[\"foo\", \"zoo\", \"bar\"] | \"zoo\"\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvMedianFunction.markdown": "### MV_MEDIAN\n将多值字段转换为包含中位数值的单值字段。例如:\n\n```\nROW a=[3, 5, 1]\n| EVAL median_a = MV_MEDIAN(a)\n```\n\n返回:\n\n```\n[3, 5, 1] | 3\n```\n\n可由任何数字字段类型使用,并返回一个相同类型的值。如果行中包含某个列的偶数个数的值,结果将为中间两个条目的平均值。如果字段不为浮点数,则会**向下**舍入平均值:\n\n```\nROW a=[3, 7, 1, 6]\n| EVAL median_a = MV_MEDIAN(a)\n```\n\n返回:\n\n```\n[3, 7, 1, 6] | 4\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvMinFunction.markdown": "### MV_MIN\n将多值字段转换为包含最小值的单值字段。例如:\n\n```\nROW a=[2, 1]\n| EVAL min_a = MV_MIN(a)\n```\n\n返回:\n\n```\n[2, 1] | 1\n```\n\n可由任何字段类型使用,包括 `keyword` 字段。在该情况下,将选取最后一个字符串,逐字节比较其 utf-8 表示形式:\n\n```\nROW a=[\"foo\", \"bar\"]\n| EVAL min_a = MV_MIN(a)\n```\n\n返回:\n\n```\n[\"foo\", \"bar\"] | \"bar\"\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvSumFunction.markdown": "### MV_SUM\n将多值字段转换为包含所有值的总和的单值字段。例如:\n```\nROW a=[3, 5, 6]\n| EVAL sum_a = MV_SUM(a)\n```\n\n返回:\n\n```\n[3, 5, 6] | 14\n```\n\n注意:输入类型可以为任何数字,输出类型与输入类型相同。\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.nowFunction.markdown": "### NOW\n返回当前日期和时间。\n\n```\nROW current_date = NOW()\n```\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.percentileFunction.markdown": "### PERCENTILE\n出现某个百分比的观察值时的值。例如,第 95 个百分位是大于 95% 的观察值的值,第 50 个百分位是 `MEDIAN`。\n\n```\nFROM employees\n| STATS p0 = PERCENTILE(salary, 0)\n , p50 = PERCENTILE(salary, 50)\n , p99 = PERCENTILE(salary, 99)\n```\n\n**注意:** `PERCENTILE` 通常为基于 TDigest 算法的近似计算。\n\n**警告:** `PERCENTILE` 也具有[非确定性](https://en.wikipedia.org/wiki/Nondeterministic_algorithm)。这意味着,即使使用相同的数据,但您得到的结果可能会略有不同。\n\n此表达式可使用内联函数。例如,要计算一个多值列的最大值的百分位数,应首先使用 `MV_MAX` 获取每行的最大值,然后将结果用于 `PERCENTILE` 函数:\n\n```\nFROM employees\n| STATS p80_max_salary_change = PERCENTILE(MV_MAX(salary_change), 80)\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.piFunction.markdown": "### PI\n圆的周长与其直径的比率。\n\n```\nROW PI()\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.powFunction.markdown": "### POW\n返回提升为指数幂(第二个参数)的底数(第一个参数)的值。两个参数都必须为数字。输出始终为双精度。请注意,此处仍可能使双精度结果溢出;在该情况下,将返回 `null`。\n\n```\nROW base = 2.0, exponent = 2.0 \n| EVAL s = POW(base, exponent)\n```\n\n#### 分数指数\n\n指数可以为分数,这与执行根式运算类似。例如,指数为 0.5 时,将计算底数的平方根:\n\n```\nROW base = 4, exponent = 0.5\n| EVAL s = POW(base, exponent)\n```\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.predicates.markdown": "### NULL 值\n对于 NULL 比较,请使用 `IS NULL` 和 `IS NOT NULL` 谓词:\n\n```\nFROM employees\n| WHERE birth_date IS NULL\n| KEEP first_name, last_name\n| SORT first_name\n| LIMIT 3\n```\n\n```\nFROM employees\n| WHERE is_rehired IS NOT NULL\n| STATS count(emp_no)\n```\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.rename.markdown": "### RENAME\n请使用 `RENAME` 通过以下语法对列重命名:\n\n```\nRENAME AS \n```\n\n例如:\n\n```\nFROM employees\n| KEEP first_name, last_name, still_hired\n| RENAME still_hired AS employed\n```\n\n如果使用新名称的列已存在,将用新列替换该列。\n\n可以使用单个 `RENAME` 命令对多个列重命名:\n\n```\nFROM employees\n| KEEP first_name, last_name\n| RENAME first_name AS fn, last_name AS ln\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.rightFunction.markdown": "### RIGHT\n返回从字符串中提取 `length` 字符的子字符串,从 `right` 开始。\n\n```\nFROM employees\n| KEEP last_name\n| EVAL right = RIGHT(last_name, 3)\n| SORT last_name ASC\n| LIMIT 5\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.roundFunction.markdown": "### ROUND\n以指定的位数将数字四舍五入为最近的数字。如果未提供位数,则默认为 0 位。如果指定的位数为负数,则四舍五入为小数点左侧的位数。\n\n```\nFROM employees\n| KEEP first_name, last_name, height\n| EVAL height = ROUND(height * 3.281, 1)\n```\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.row.markdown": "### ROW\n`ROW` 源命令会生成一个行,其中包含一个或多个含有您指定的值的列。这可以用于测试。\n \n```\nROW a = 1, b = \"two\", c = null\n```\n\n请使用方括号创建多值列:\n\n```\nROW a = [2, 1]\n```\n\nROW 支持使用函数:\n\n```\nROW a = ROUND(1.23, 0)\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.rtrimFunction.markdown": "### RTRIM\n从字符串中移除尾随空格。\n\n```\nROW message = \" some text \", color = \" red \"\n| EVAL message = RTRIM(message)\n| EVAL color = RTRIM(color)\n| EVAL message = CONCAT(\"'\", message, \"'\")\n| EVAL color = CONCAT(\"'\", color, \"'\")\n```\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.show.markdown": "### SHOW\n`SHOW ` 源命令返回有关部署及其功能的信息:\n\n* 使用 `SHOW INFO` 可返回部署的版本、构建日期和哈希。\n* 使用 `SHOW FUNCTIONS` 可返回所有受支持函数的列表和每个函数的概要。\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.sinFunction.markdown": "### SIN\n正弦三角函数。\n\n```\nROW a=1.8\n| EVAL sin=SIN(a)\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.sinhFunction.markdown": "### SINH\n正弦双曲函数。\n\n```\nROW a=1.8\n| EVAL sinh=SINH(a)\n```\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.sort.markdown": "### SORT\n使用 `SORT` 命令可对一个或多个字段上的行排序:\n\n```\nFROM employees\n| KEEP first_name, last_name, height\n| SORT height\n```\n\n默认排序顺序为升序。请使用 `ASC` 或 `DESC` 设置显式排序顺序:\n\n```\nFROM employees\n| KEEP first_name, last_name, height\n| SORT height DESC\n```\n\n如果两个行具有相同的排序键,则保留原始顺序。您可以提供其他排序表达式充当连接断路器:\n\n```\nFROM employees\n| KEEP first_name, last_name, height\n| SORT height DESC, first_name ASC\n```\n\n#### `null` 值\n默认情况下,会将 `null` 值视为大于任何其他值。使用升序排序顺序时,会最后对 `null` 值排序,而使用降序排序顺序时,会首先对 `null` 值排序。您可以通过提供 `NULLS FIRST` 或 `NULLS LAST` 来更改该排序:\n\n```\nFROM employees\n| KEEP first_name, last_name, height\n| SORT first_name ASC NULLS FIRST\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.splitFunction.markdown": "### SPLIT\n将单值字符串拆分成多个字符串。例如:\n\n```\nROW words=\"foo;bar;baz;qux;quux;corge\"\n| EVAL word = SPLIT(words, \";\")\n```\n\n这会拆分 `;` 上的 `\"foo;bar;baz;qux;quux;corge\"` 并返回一个数组:\n\n```\nfoo;bar;baz;qux;quux;corge | [foo,bar,baz,qux,quux,corge]\n```\n\n注意:当前仅支持单字节分隔符。\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.sqrtFunction.markdown": "### SQRT\n返回数字的平方根。输入可以为任何数字值,返回值始终为双精度值。\n\n负数的平方根为 NaN。无穷大的平方根为无穷大。\n\n```\nROW d = 100.0\n| EVAL s = SQRT(d)\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.startsWithFunction.markdown": "### STARTS_WITH\n返回布尔值,指示关键字字符串是否以另一个字符串开头:\n\n```\nFROM employees\n| KEEP first_name, last_name, height\n| EVAL ln_S = STARTS_WITH(last_name, \"S\")\n```\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.statsby.markdown": "### STATS ...BY\n使用 `STATS ...BY` 可根据公共值对行分组,并计算已分组行中的一个或多个聚合值。\n\n**示例**:\n\n```\nFROM employees\n| STATS count = COUNT(emp_no) BY languages\n| SORT languages\n```\n\n如果省略 `BY`,输出表实际将包含一行,其中为应用于整个数据集的聚合:\n\n```\nFROM employees\n| STATS avg_lang = AVG(languages)\n```\n\n可以计算多个值:\n\n```\nFROM employees\n| STATS avg_lang = AVG(languages), max_lang = MAX(languages)\n```\n\n也可以按多个值分组(仅长整型和关键字家族字段支持):\n\n```\nFROM employees\n| EVAL hired = DATE_FORMAT(hire_date, \"YYYY\")\n| STATS avg_salary = AVG(salary) BY hired, languages.long\n| EVAL avg_salary = ROUND(avg_salary)\n| SORT hired, languages.long\n```\n\n请参阅**聚合函数**获取可与 `STATS ...BY` 搭配使用的函数列表。\n\n聚合函数和分组表达式均接受其他函数。这在对多值列使用 `STATS...BY` 时有用。例如,要计算平均工资变动,可以首先使用 `MV_AVG` 对每名员工的多个值求平均值,然后将结果用于 `AVG` 函数:\n\n```\nFROM employees\n| STATS avg_salary_change = AVG(MV_AVG(salary_change))\n```\n\n按表达式分组的示例为根据员工姓氏的第一个字母对其进行分组:\n\n```\nFROM employees\n| STATS my_count = COUNT() BY LEFT(last_name, 1)\n| SORT `LEFT(last_name, 1)`\n```\n\n指定输出列名称为可选操作。如果未指定,新列名称等于该表达式。以下查询将返回名为 `AVG(salary)` 的列:\n\n```\nFROM employees\n| STATS AVG(salary)\n```\n\n由于此名称包含特殊字符,在后续命令中使用该名称时,需要用反撇号 (`) 引用它:\n\n```\nFROM employees\n| STATS AVG(salary)\n| EVAL avg_salary_rounded = ROUND(`AVG(salary)`)\n```\n\n**注意**:不包含任何组的 `STATS` 比添加组更快。\n\n**注意**:当前,根据单一表达式进行分组比根据许多表达式进行分组更为优化。\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.stCentroidFunction.markdown": "### ST_CENTROID\n对包含空间点几何图形类型的字段计算空间重心。\n\n```\nFROM airports\n| STATS centroid=ST_CENTROID(location)\n```\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.stringOperators.markdown": "### LIKE 和 RLIKE\n使用通配符或正则表达式比较字符串时,请使用 `LIKE` 或 `RLIKE`:\n\n使用 `LIKE` 时,可使用通配符来匹配字符串。支持以下通配符字符:\n\n* `*` 匹配零个或更多字符。\n* `?` 匹配一个字符。\n\n```\nFROM employees\n| WHERE first_name LIKE \"?b*\"\n| KEEP first_name, last_name\n```\n\n使用 `RLIKE` 时,可使用正则表达式来匹配字符串:\n\n```\nFROM employees\n| WHERE first_name RLIKE \".leja.*\"\n| KEEP first_name, last_name\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.substringFunction.markdown": "### SUBSTRING\n返回字符串的子字符串,用起始位置和可选长度指定。此示例返回每个姓氏的前三个字符:\n\n```\nFROM employees\n| KEEP last_name\n| EVAL ln_sub = SUBSTRING(last_name, 1, 3)\n```\n\n负起始位置解析为相对于字符串末尾。此示例返回每个姓氏的后三个字符:\n\n```\nFROM employees\n| KEEP last_name\n| EVAL ln_sub = SUBSTRING(last_name, -3, 3)\n```\n\n如果省略长度,子字符串将返回字符串的剩余部分。此示例返回除第一个字符以外的所有字符:\n\n```\nFROM employees\n| KEEP last_name\n| EVAL ln_sub = SUBSTRING(last_name, 2)\n```\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.sumFunction.markdown": "### SUM\n返回数字字段的总和。\n\n```\nFROM employees\n| STATS SUM(languages)\n```\n\n此表达式可使用内联函数。例如,要计算每名员工的最大工资变动的总和,请对每行应用 `MV_MAX` 函数,然后对结果使用 `SUM`:\n\n```\nFROM employees\n| STATS total_salary_changes = SUM(MV_MAX(salary_change))\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.tanFunction.markdown": "### TAN\n正切三角函数。\n\n```\nROW a=1.8\n| EVAL tan=TAN(a)\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.tanhFunction.markdown": "### TANH\n正切双曲函数。\n\n```\nROW a=1.8\n| EVAL tanh=TANH(a)\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.tauFunction.markdown": "### TAU\n圆的圆周长与其半径的比率。\n\n```\nROW TAU()\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toBooleanFunction.markdown": "### TO_BOOLEAN\n将输入值转换为布尔值。\n\n输入可以为单值或多值字段,或为表达式。输入类型必须为字符串或数值类型。\n\n字符串值 **\"true\"** 将不区分大小写并被转换为布尔值 **true**。对于任何其他值,包括空字符串,此函数将返回 **false**。例如:\n\n```\nROW str = [\"true\", \"TRuE\", \"false\", \"\", \"yes\", \"1\"]\n| EVAL bool = TO_BOOLEAN(str)\n```\n\n返回:\n\n```\n[\"true\", \"TRuE\", \"false\", \"\", \"yes\", \"1\"] | [true, true, false, false, false, false]\n```\n\n数字值 **0** 将转换为 **false**,任何其他值将转换为 **true**。\n\n别名:TO_BOOL\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toCartesianpointFunction.markdown": "### TO_CARTESIANPOINT\n将输入值转换为 `point` 值。\n\n输入可以为单值或多值字段,或为表达式。输入类型必须为字符串或笛卡尔点。\n\n字符串只有符合 [WKT 点](https://en.wikipedia.org/wiki/Well-known_text_representation_of_geometry) 格式时,才能成功转换:\n\n```\nROW wkt = [\"POINT(4297.11 -1475.53)\", \"POINT(7580.93 2272.77)\"]\n| MV_EXPAND wkt\n| EVAL pt = TO_CARTESIANPOINT(wkt)\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toCartesianShapeFunction.markdown": "### TO_CARTESIANSHAPE\n将输入值转换为 `cartesian_shape` 值。\n\n输入可以为单值或多值字段,或为表达式。输入类型必须为字符串或 `cartesian_shape`。\n \n字符串只有符合 [WKT](https://en.wikipedia.org/wiki/Well-known_text_representation_of_geometry) 格式时,才能成功转换:\n \n例如:\n \n```\nROW wkt = [\"POINT(4297.11 -1475.53)\", \"POLYGON ((3339584.72 1118889.97, 4452779.63 4865942.27, 2226389.81 4865942.27, 1113194.90 2273030.92, 3339584.72 1118889.97))\"]\n| MV_EXPAND wkt\n| EVAL geom = TO_CARTESIANSHAPE(wkt)\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toDatetimeFunction.markdown": "### TO_DATETIME\n将输入值转换为日期值。\n\n输入可以为单值或多值字段,或为表达式。输入类型必须为字符串或数值类型。\n\n仅当字符串采用 `yyyy-MM-dd'T'HH:mm:ss.SSS'Z'` 格式时,才可进行成功转换。例如:\n\n```\nROW string = [\"1953-09-02T00:00:00.000Z\", \"1964-06-02T00:00:00.000Z\", \"1964-06-02 00:00:00\"]\n| EVAL datetime = TO_DATETIME(string)\n```\n\n返回:\n\n```\n[\"1953-09-02T00:00:00.000Z\", \"1964-06-02T00:00:00.000Z\", \"1964-06-02 00:00:00\"] | [1953-09-02T00:00:00.000Z, 1964-06-02T00:00:00.000Z]\n```\n\n请注意,在此示例中,源多值字段中的最后一个值未进行转换。这是因为,如果未采用日期格式,转换将导致 **null** 值。\n\n如果输入参数为数值类型,会将其值解析为自 Unix epoch 以来的毫秒数。例如:\n\n```\nROW int = [0, 1]\n| EVAL dt = TO_DATETIME(int)\n```\n\n返回:\n\n```\n[0, 1] | [1970-01-01T00:00:00.000Z, 1970-01-01T00:00:00.001Z]\n```\n\n别名:TO_DT\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toDegreesFunction.markdown": "### TO_DEGREES\n将弧度转换为度数。\n\n输入可以为单值或多值字段,或为表达式。输入类型必须为数值类型,并且结果始终为 `double`。\n\n```\nROW rad = [1.57, 3.14, 4.71]\n| EVAL deg = TO_DEGREES(rad)\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toDoubleFunction.markdown": "### TO_DOUBLE\n将输入值转换为双精度值。\n\n输入可以为单值或多值字段,或为表达式。输入类型必须为布尔值、日期、字符串或数值类型。\n\n例如:\n\n```\nROW str1 = \"5.20128E11\", str2 = \"foo\"\n| EVAL dbl = TO_DOUBLE(\"520128000000\"), dbl1 = TO_DOUBLE(str1), dbl2 = TO_DOUBLE(str2)\n```\n\n返回:\n\n```\n5.20128E11 | foo | 5.20128E11 | 5.20128E11 | null\n```\n\n请注意,在此示例中,无法转换最后一个字符串。如果出现这种情况,结果将为 **null** 值。\n\n如果输入参数为日期类型,会将其值解析为自 Unix epoch 以来的毫秒数,并转换为双精度值。\n\n布尔值 **true** 将转换为双精度值 **1.0**,**false** 转换为 **0.0**。\n\n别名:TO_DBL\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toGeopointFunction.markdown": "### TO_GEOPOINT\n将输入值转换为 `geo_point` 值。\n\n输入可以为单值或多值字段,或为表达式。输入类型必须为字符串或 `geo_point`。\n\n字符串只有符合 [WKT 点](https://en.wikipedia.org/wiki/Well-known_text_representation_of_geometry) 格式时,才能成功转换:\n\n```\nROW wkt = \"POINT(42.97109630194 14.7552534413725)\"\n| EVAL pt = TO_GEOPOINT(wkt)\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toGeoshapeFunction.markdown": "### TO_GEOSHAPE\n将输入值转换为 `geo_shape` 值。\n\n输入可以为单值或多值字段,或为表达式。输入类型必须为字符串或 `geo_shape`。\n\n字符串只有符合 [WKT 格式](https://en.wikipedia.org/wiki/Well-known_text_representation_of_geometry) 时,才能成功转换。\n\n例如:\n\n```\nROW wkt = \"POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10))\"\n| EVAL geom = TO_GEOSHAPE(wkt)\n```\n\n返回:\n\n```\nPOLYGON ((30 10, 40 40, 20 40, 10 20, 30 10)) | POLYGON ((30 10, 40 40, 20 40, 10 20, 30 10))\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toIntegerFunction.markdown": "### TO_INTEGER\n将输入值转换为整数值。\n\n输入可以为单值或多值字段,或为表达式。输入类型必须为布尔值、日期、字符串或数值类型。\n\n例如:\n\n```\nROW long = [5013792, 2147483647, 501379200000]\n| EVAL int = TO_INTEGER(long)\n```\n\n返回:\n\n```\n[5013792, 2147483647, 501379200000] | [5013792, 2147483647]\n```\n\n请注意,在此示例中,无法将多值字段的最后一个值转换为整数。如果出现这种情况,结果将为 **null** 值。\n\n如果输入参数为日期类型,会将其值解析为自 Unix epoch 以来的毫秒数,并转换为整数。\n\n布尔值 **true** 将转换为整数 **1**,**false** 转换为 **0**。\n\n别名:TO_INT\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toIpFunction.markdown": "### TO_IP\n将输入字符串转换为 IP 值。\n\n输入可以为单值或多值字段,或为表达式。\n\n例如:\n\n```\nROW str1 = \"1.1.1.1\", str2 = \"foo\"\n| EVAL ip1 = TO_IP(str1), ip2 = TO_IP(str2)\n| WHERE CIDR_MATCH(ip1, \"1.0.0.0/8\")\n```\n\n返回:\n\n```\n1.1.1.1 | foo | 1.1.1.1 | null\n```\n\n请注意,在上例中,无法转换最后一个字符串。如果出现这种情况,结果将为 **null** 值。\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toLongFunction.markdown": "### TO_LONG\n将输入值转换为长整型值。\n\n输入可以为单值或多值字段,或为表达式。输入类型必须为布尔值、日期、字符串或数值类型。\n\n例如:\n\n```\nROW str1 = \"2147483648\", str2 = \"2147483648.2\", str3 = \"foo\"\n| EVAL long1 = TO_LONG(str1), long2 = TO_LONG(str2), long3 = TO_LONG(str3)\n```\n\n返回:\n\n```\n2147483648 | 2147483648.2 | foo | 2147483648 | 2147483648 | null\n```\n\n请注意,在此示例中,无法转换最后一个字符串。如果出现这种情况,结果将为 **null** 值。\n\n如果输入参数为日期类型,会将其值解析为自 Unix epoch 以来的毫秒数,并转换为整数。\n\n布尔值 `true` 将转换为长整型值 `1`,`false` 转换为 `0`。\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toLowerFunction.markdown": "### TO_LOWER\n返回一个新字符串,表示已将输入字符串转为小写。\n例如:\n \n```\nROW message = \"Some Text\" \n| EVAL message_lower = TO_LOWER(message)\n```\n\n返回:\n\n```\nSome Text | some text\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toRadiansFunction.markdown": "### TO_RADIANS\n将度数转换为弧度。\n\n输入可以为单值或多值字段,或为表达式。输入类型必须为数值类型,并且结果始终为 `double`。\n\n```\nROW deg = [90.0, 180.0, 270.0]\n| EVAL rad = TO_RADIANS(deg)\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toStringFunction.markdown": "### TO_STRING\n将字段转换为字符串。例如:\n\n```\nROW a=10\n| EVAL j = TO_STRING(a)\n```\n\n它还可以有效处理多值字段:\n\n```\nROW a=[10, 9, 8]\n| EVAL j = TO_STRING(a)\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toUnsignedLongFunction.markdown": "### TO_UNSIGNED_LONG\n将输入值转换为无符号长整型值。\n\n输入可以为单值或多值字段,或为表达式。输入类型必须为布尔值、日期、字符串或数值类型。\n\n```\nROW str1 = \"2147483648\", str2 = \"2147483648.2\", str3 = \"foo\"\n| EVAL long1 = TO_UNSIGNED_LONG(str1), long2 = TO_ULONG(str2), long3 = TO_UL(str3)\n```\n\n请注意,在此示例中,无法转换最后一个字符串。如果出现这种情况,结果将为 **null** 值。在此情况下,会在响应中添加警告标头。该标头将提供有关失败原因的信息:\n\n```\n“行 1:133:评估 [TO_UL(str3)] 失败,将结果视为 null。只记录前 20 次失败。”\n```\n\n以下标头将包含失败原因和出现问题的值:\n\n```\n“java.lang.NumberFormatException:字符 f 既不是十进制数字、小数点,也不是 \"e\" 符号指数标记。”\n```\n\n如果输入参数为日期类型,会将其值解析为自 Unix epoch 以来的毫秒数,并转换为无符号长整型值。\n\n布尔值 `true` 将转换为无符号长整型值 `1`,`false` 转换为 `0`。\n\n别名:TO_ULONG, TO_UL\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toUpperFunction.markdown": "### TO_UPPER\n返回一个新字符串,表示已将输入字符串转为大写。\n\n例如:\n\n```\nROW message = \"Some Text\" \n| EVAL message_upper = TO_UPPER(message)\n```\n\n返回:\n\n```\nSome Text | SOME TEXT\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toVersionFunction.markdown": "### TO_VERSION\n将输入字符串转换为版本值。例如:\n\n```\nROW v = TO_VERSION(\"1.2.3\")\n```\n\n返回:\n\n```\n1.2.3\n```\n\n别名:TO_VER\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.trimFunction.markdown": "### TRIM\n从字符串中移除前导和尾随空格。\n\n```\nROW message = \" some text \", color = \" red \"\n| EVAL message = TRIM(message)\n| EVAL color = TRIM(color)\n```\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.where.markdown": "### WHERE\n使用 `WHERE` 可生成一个表,其中包含输入表中所提供的条件评估为 `true` 的所有行:\n \n```\nFROM employees\n| KEEP first_name, last_name, still_hired\n| WHERE still_hired == true\n```\n\n#### 运算符\n\n请参阅**运算符**了解所支持的运算符的概览。\n\n#### 函数\n`WHERE` 支持各种用于计算值的函数。请参阅**函数**了解更多信息。\n ", "textBasedEditor.query.textBasedLanguagesEditor.aborted": "请求已中止", "textBasedEditor.query.textBasedLanguagesEditor.aggregationFunctions": "聚合函数", @@ -6287,105 +6218,36 @@ "textBasedEditor.query.textBasedLanguagesEditor.cancel": "取消", "textBasedEditor.query.textBasedLanguagesEditor.commandsDescription": "源命令会生成一个表,其中通常包含来自 Elasticsearch 的数据。ES|QL 支持以下源命令。", "textBasedEditor.query.textBasedLanguagesEditor.disableWordWrapLabel": "移除管道符上的换行符", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.absFunction": "ABS", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.acosFunction": "ACOS", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.asinFunction": "ASIN", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.atan2Function": "ATAN2", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.atanFunction": "ATAN", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.autoBucketFunction": "AUTO_BUCKET", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.avgFunction": "AVG", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.binaryOperators": "二进制运算符", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.booleanOperators": "布尔运算符", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.caseFunction": "CASE", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.ceilFunction": "CEIL", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.cidrMatchFunction": "CIDR_MATCH", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.coalesceFunction": "COALESCE", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.concatFunction": "CONCAT", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.cosFunction": "COS", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.coshFunction": "COSH", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.countDistinctFunction": "COUNT_DISTINCT", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.countFunction": "COUNT", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.dateDiffFunction": "DATE_DIFF", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.dateExtractFunction": "DATE_EXTRACT", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.dateFormatFunction": "DATE_FORMAT", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.dateParseFunction": "DATE_PARSE", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.dateTruncFunction": "DATE_TRUNC", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.dissect": "DISSECT", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.drop": "DROP", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.eFunction": "E", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.endsWithFunction": "ENDS_WITH", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.enrich": "ENRICH", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.eval": "EVAL", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.floorFunction": "FLOOR", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.from": "FROM", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.greatestFunction": "GREATEST", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.grok": "GROK", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.inOperator": "IN", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.keep": "KEEP", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.leastFunction": "LEAST", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.leftFunction": "LEFT", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.lengthFunction": "LENGTH", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.limit": "LIMIT", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.log10Function": "LOG10", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.ltrimunction": "LTRIM", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.maxFunction": "MAX", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.medianAbsoluteDeviationFunction": "MEDIAN_ABSOLUTE_DEVIATION", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.medianFunction": "MEDIAN", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.minFunction": "MIN", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvAvgFunction": "MV_AVG", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvConcatFunction": "MV_CONCAT", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvCountFunction": "MV_COUNT", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvDedupeFunction": "MV_DEDUPE", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvExpand": "MV_EXPAND", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvFirstFunction": "MV_FIRST", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvLastFunction": "MV_LAST", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvMaxFunction": "MV_MAX", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvMedianFunction": "MV_MEDIAN", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvMinFunction": "MV_MIN", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvSumFunction": "MV_SUM", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.nowFunction": "NOW", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.percentileFunction": "PERCENTILE", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.piFunction": "PI", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.powFunction": "POW", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.predicates": "Null 值", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.rename": "RENAME", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.rightFunction": "RIGHT", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.roundFunction": "ROUND", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.row": "ROW", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.rtrimFunction": "RTRIM", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.show": "SHOW", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.sinFunction": "SIN", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.sinhFunction": "SINH", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.sort": "SORT", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.splitFunction": "SPLIT", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.sqrtFunction": "SQRT", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.startsWithFunction": "STARTS_WITH", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.statsby": "STATS ...BY", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.stCentroidFunction": "ST_CENTROID", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.stringOperators": "LIKE 和 RLIKE", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.substringFunction": "SUBSTRING", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.sumFunction": "SUM", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.tanFunction": "TAN", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.tanhFunction": "TANH", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.tauFunction": "TAU", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toBooleanFunction": "TO_BOOLEAN", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toCartesianpointFunction": "TO_CARTESIANPOINT", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toCartesianShapeFunction": "TO_CARTESIANSHAPE", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toDatetimeFunction": "TO_DATETIME", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toDegreesFunction": "TO_DEGREES", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toDoubleFunction": "TO_DOUBLE", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toGeopointFunction": "TO_GEOPOINT", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toGeoshapeFunction": "TO_GEOSHAPE", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toIntegerFunction": "TO_INTEGER", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toIpFunction": "TO_IP", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toLongFunction": "TO_LONG", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toLowerFunction": "TO_LOWER", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toRadiansFunction": "TO_RADIANS", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toStringFunction": "TO_STRING", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toUnsignedLongFunction": "TO_UNSIGNED_LONG", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toUpperFunction": "TO_UPPER", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.toVersionFunction": "TO_VERSION", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.trimFunction": "TRIM", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.where": "WHERE", "textBasedEditor.query.textBasedLanguagesEditor.documentationLabel": "文档", "textBasedEditor.query.textBasedLanguagesEditor.EnableWordWrapLabel": "在管道符上添加换行符", From 1cca237bacc987ca2b5ac4e1ba9a7e3d935a9d40 Mon Sep 17 00:00:00 2001 From: Drew Tate Date: Tue, 4 Jun 2024 08:10:54 -0600 Subject: [PATCH 07/15] fix translations --- .../translations/translations/fr-FR.json | 99 ------------------- .../translations/translations/ja-JP.json | 93 ----------------- .../translations/translations/zh-CN.json | 94 ------------------ 3 files changed, 286 deletions(-) diff --git a/x-pack/plugins/translations/translations/fr-FR.json b/x-pack/plugins/translations/translations/fr-FR.json index e850d0608f178..cba8840dba0d6 100644 --- a/x-pack/plugins/translations/translations/fr-FR.json +++ b/x-pack/plugins/translations/translations/fr-FR.json @@ -1313,16 +1313,12 @@ "dashboard.topNav.saveModal.storeTimeWithDashboardFormRowHelpText": "Le filtre temporel est défini sur l’option sélectionnée chaque fois que ce tableau de bord est chargé.", "dashboard.topNav.saveModal.storeTimeWithDashboardFormRowLabel": "Enregistrer la plage temporelle avec le tableau de bord", "dashboard.topNave.cancelButtonAriaLabel": "Basculer en mode Affichage", - "dashboard.topNave.cloneButtonAriaLabel": "cloner", - "dashboard.topNave.cloneConfigDescription": "Créer une copie du tableau de bord", "dashboard.topNave.editButtonAriaLabel": "modifier", "dashboard.topNave.editConfigDescription": "Basculer en mode Édition", "dashboard.topNave.fullScreenButtonAriaLabel": "plein écran", "dashboard.topNave.fullScreenConfigDescription": "Mode Plein écran", "dashboard.topNave.resetChangesButtonAriaLabel": "Réinitialiser", "dashboard.topNave.resetChangesConfigDescription": "Réinitialiser les modifications apportées au tableau de bord", - "dashboard.topNave.saveAsButtonAriaLabel": "enregistrer sous", - "dashboard.topNave.saveAsConfigDescription": "Enregistrer en tant que nouveau tableau de bord", "dashboard.topNave.saveButtonAriaLabel": "enregistrer", "dashboard.topNave.saveConfigDescription": "Enregistrer le tableau de bord sans invite de confirmation", "dashboard.topNave.settingsButtonAriaLabel": "les paramètres d'index suivants déclassés ?", @@ -2228,7 +2224,6 @@ "dataViews.contentManagementType": "Vue de données", "dataViews.dataStreamLabel": "Flux de données", "dataViews.deprecations.scriptedFields.manualStepOneMessage": "Accédez à Gestion de la Suite > Kibana > Vues de données.", - "dataViews.deprecations.scriptedFields.manualStepTwoMessage": "Mettez à jour les vues de données {numberOfIndexPatternsWithScriptedFields} qui ont des champs scriptés pour qu’elles utilisent des champs d'exécution. Dans la plupart des cas, pour migrer des scripts existants, vous devrez remplacer \"return ;\" par \"emit();\". Vues de données avec au moins un champ scripté : {allTitles}", "dataViews.deprecations.scriptedFieldsTitle": "Vues de données utilisant des champs scriptés trouvées", "dataViews.frozenLabel": "Frozen", "dataViews.functions.dataViewLoad.help": "Charge une vue de données", @@ -3101,7 +3096,6 @@ "expressionXY.reusable.function.legendConfig.errors.floatingColumnsWithFalsyIsInsideError": "Les arguments `floatingColumns` ne sont pas appliqués si `isInside = false`.", "expressionXY.reusable.function.legendConfig.errors.legendSizeWithFalsyIsInsideError": "L'argument `legendSize` n'est pas appliqué si `isInside = false`.", "expressionXY.reusable.function.legendConfig.errors.positionUsageWithIsInsideError": "L'argument `position` n'est pas appliqué si `isInside = true`. Veuillez utiliser les arguments `horizontalAlignment` et `verticalAlignment` à la place.", - "expressionXY.reusable.function.xyVis.errors.axisIsNotAssignedError": "L'axe avec l'ID : \"{axisId}\" n'est assigné à aucun accesseur. Veuillez attribuer un axe en utilisant la construction suivante : `decorations=\\{dataDecorationConfig forAccessor=\"your-accessor\" axisId=\"{axisId}\"\\}`", "expressionXY.reusable.function.xyVis.errors.dataBoundsForNotLineChartError": "Seuls les graphiques linéaires peuvent être adaptés aux limites de données", "expressionXY.reusable.function.xyVis.errors.extendBoundsAreInvalidError": "Pour les modes de graphiques en aires et à barres, et le mode d'extension personnalisée, la limite inférieure doit être inférieure ou supérieure à 0, et la limite supérieure doit être supérieure ou égale à 0", "expressionXY.reusable.function.xyVis.errors.extentFullModeIsInvalid": "Pour la portée de l'axe x, le mode complet n'est pas pris en charge.", @@ -3732,7 +3726,6 @@ "home.tutorials.common.auditbeatStatusCheck.successText": "Des données ont été reçues.", "home.tutorials.common.auditbeatStatusCheck.text": "Vérifier que des données sont reçues d'Auditbeat", "home.tutorials.common.auditbeatStatusCheck.title": "Statut", - "home.tutorials.common.cloudInstructions.passwordAndResetLink": "Où {passwordTemplate} est le mot de passe de l'utilisateur `elastic`.\\{#config.cloud.profileUrl\\}\n Mot de passe oublié ? [Réinitialiser dans Elastic Cloud](\\{config.cloud.baseUrl\\}\\{config.cloud.deploymentUrl\\}/security).\n \\{/config.cloud.profileUrl\\}\n\n> **_Important :_** n'employez pas l'utilisateur `elastic` intégré pour sécuriser les clients dans un environnement de production. À la place, configurez des utilisateurs autorisés ou des clés d'API, et n'exposez pas les mots de passe dans les fichiers de configuration.", "home.tutorials.common.filebeat.cloudInstructions.gettingStarted.title": "Commencer", "home.tutorials.common.filebeat.premCloudInstructions.gettingStarted.title": "Commencer", "home.tutorials.common.filebeat.premInstructions.gettingStarted.title": "Commencer", @@ -3764,12 +3757,10 @@ "home.tutorials.common.functionbeat.cloudInstructions.gettingStarted.title": "Commencer", "home.tutorials.common.functionbeat.premCloudInstructions.gettingStarted.title": "Commencer", "home.tutorials.common.functionbeat.premInstructions.gettingStarted.title": "Commencer", - "home.tutorials.common.functionbeatAWSInstructions.textPost": "Où `` et `` sont vos informations d'identification et `us-east-1` est la région désirée.", "home.tutorials.common.functionbeatAWSInstructions.textPre": "Définissez vos informations d'identification AWS dans l'environnement :", "home.tutorials.common.functionbeatAWSInstructions.title": "Définir des informations d'identification AWS", "home.tutorials.common.functionbeatCloudInstructions.config.osxTitle": "Modifier la configuration", "home.tutorials.common.functionbeatCloudInstructions.config.windowsTitle": "Modifier la configuration", - "home.tutorials.common.functionbeatEnableOnPremInstructions.defaultTextPost": "Où `` est le nom du groupe de logs à importer et `` un nom de compartiment S3 valide pour la mise en œuvre du déploiement de Functionbeat.", "home.tutorials.common.functionbeatEnableOnPremInstructions.defaultTitle": "Configurer le groupe de logs Cloudwatch", "home.tutorials.common.functionbeatEnableOnPremInstructionsOSXLinux.textPre": "Modifiez les paramètres dans le fichier `functionbeat.yml`.", "home.tutorials.common.functionbeatInstructions.config.osxTitle": "Configurer le cluster Elastic", @@ -6182,12 +6173,9 @@ "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.booleanOperators.markdown": "### Opérateurs booléens\nLes opérateurs booléens suivants sont pris en charge :\n\n* `AND`\n* `OR`\n* `NOT`\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.countDistinctFunction.markdown": "### COUNT_DISTINCT\nDécompte le nombre approximatif de valeurs distinctes.\n\n````\nFROM hosts\n| STATS COUNT_DISTINCT(ip0), COUNT_DISTINCT(ip1)\n```\n\nLa fonction `COUNT_DISTINCT` est approximative, basée sur l'algorithme HyperLogLog++. Pour en savoir plus, consultez la [documentation](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-metrics-cardinality-aggregation.html#_counts_are_approximate). La précision est configurable à l'aide d'un deuxième paramètre facultatif. La valeur maximale compatible est 40000. Les seuils supérieurs à ce nombre auront le même effet qu'un seuil de 40000. La valeur par défaut est 3000.\n\n````\nFROM hosts\n| STATS COUNT_DISTINCT(ip0, 80000), COUNT_DISTINCT(ip1, 5)\n````\n\nCette expression peut utiliser des fonctions alignées. Cet exemple divise une chaîne en plusieurs valeurs à l'aide de la fonction `SPLIT` et compte les valeurs uniques :\n\n````\nROW words=\"foo;bar;baz;qux;quux;foo\"\n| STATS distinct_word_count = COUNT_DISTINCT(SPLIT(words, \";\"))\n````\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.countFunction.markdown": "### COUNT\nRenvoie le nombre total de valeurs en entrée.\n\n````\nFROM employees\n| STATS COUNT(height)\n````\n\nPeut prendre n'importe quel type de champ en entrée.\n\nPour compter le nombre de lignes, utiliser `COUNT()` ou `COUNT(*)` :\n\n````\nFROM employees\n| STATS count = COUNT(*) BY languages\n| SORT languages DESC\n````\n\nCette expression peut utiliser des fonctions alignées. Cet exemple divise une chaîne en plusieurs valeurs à l'aide de la fonction `SPLIT` et compte les valeurs :\n\n````\nROW words=\"foo;bar;baz;qux;quux;foo\"\n| STATS word_count = COUNT(SPLIT(words, \";\"))\n````\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.dissect.markdown": "### DISSECT\n`DISSECT` vous permet d'extraire des données structurées d'une chaîne. `DISSECT` compare la chaîne à un modèle basé sur les délimiteurs, et extrait les clés indiquées en tant que colonnes.\n\nPour obtenir la syntaxe des modèles \"dissect\", consultez [la documentation relative au processeur \"dissect\"](https://www.elastic.co/guide/en/elasticsearch/reference/current/dissect-processor.html).\n\n```\nROW a = \"1953-01-23T12:15:00Z - some text - 127.0.0.1\"\n| DISSECT a \"%\\{Y\\}-%\\{M\\}-%\\{D\\}T%\\{h\\}:%\\{m\\}:%\\{s\\}Z - %\\{msg\\} - %\\{ip\\}\"\n```\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.drop.markdown": "### DROP\nAfin de supprimer certaines colonnes d'un tableau, utilisez `DROP` :\n \n```\nFROM employees\n| DROP height\n```\n\nPlutôt que de spécifier chaque colonne par son nom, vous pouvez utiliser des caractères génériques pour supprimer toutes les colonnes dont le nom correspond à un modèle :\n\n```\nFROM employees\n| DROP height*\n```\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.enrich.markdown": "### ENRICH\nVous pouvez utiliser `ENRICH` pour ajouter les données de vos index existants aux enregistrements entrants. Une fonction similaire à l'[enrichissement par ingestion](https://www.elastic.co/guide/en/elasticsearch/reference/current/ingest-enriching-data.html), mais qui fonctionne au moment de la requête.\n\n```\nROW language_code = \"1\"\n| ENRICH languages_policy\n```\n\n`ENRICH` requiert l'exécution d'une [politique d'enrichissement](https://www.elastic.co/guide/en/elasticsearch/reference/current/ingest-enriching-data.html#enrich-policy). La politique d'enrichissement définit un champ de correspondance (un champ clé) et un ensemble de champs d'enrichissement.\n\n`ENRICH` recherche les enregistrements dans l'[index d'enrichissement](https://www.elastic.co/guide/en/elasticsearch/reference/current/ingest-enriching-data.html#enrich-index) en se basant sur la valeur du champ de correspondance. La clé de correspondance dans l'ensemble de données d'entrée peut être définie en utilisant `ON `. Si elle n'est pas spécifiée, la correspondance sera effectuée sur un champ portant le même nom que le champ de correspondance défini dans la politique d'enrichissement.\n\n```\nROW a = \"1\"\n| ENRICH languages_policy ON a\n```\n\nVous pouvez indiquer quels attributs (parmi ceux définis comme champs d'enrichissement dans la politique) doivent être ajoutés au résultat, en utilisant la syntaxe `WITH , ...`.\n\n```\nROW a = \"1\"\n| ENRICH languages_policy ON a WITH language_name\n```\n\nLes attributs peuvent également être renommés à l'aide de la syntaxe `WITH new_name=`\n\n```\nROW a = \"1\"\n| ENRICH languages_policy ON a WITH name = language_name\n````\n\nPar défaut (si aucun `WITH` n'est défini), `ENRICH` ajoute au résultat tous les champs d'enrichissement définis dans la politique d'enrichissement.\n\nEn cas de collision de noms, les champs nouvellement créés remplacent les champs existants.\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.eval.markdown": "### EVAL\n`EVAL` permet d'ajouter des colonnes :\n\n````\nFROM employees\n| KEEP first_name, last_name, height\n| EVAL height_feet = height * 3.281, height_cm = height * 100\n````\n\nSi la colonne indiquée existe déjà, la colonne existante sera supprimée et la nouvelle colonne sera ajoutée au tableau :\n\n````\nFROM employees\n| KEEP first_name, last_name, height\n| EVAL height = height * 3.281\n````\n\n#### Fonctions\n`EVAL` prend en charge diverses fonctions de calcul des valeurs. Pour en savoir plus, consultez les fonctions.\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.from.markdown": "### FROM\nLa commande source `FROM` renvoie un tableau contenant jusqu'à 10 000 documents issus d'un flux de données, d'un index ou d'un alias. Chaque ligne du tableau obtenu correspond à un document. Chaque colonne correspond à un champ et est accessible par le nom de ce champ.\n\n````\nFROM employees\n````\n\nVous pouvez utiliser des [calculs impliquant des dates](https://www.elastic.co/guide/en/elasticsearch/reference/current/api-conventions.html#api-date-math-index-names) pour désigner les indices, les alias et les flux de données. Cela peut s'avérer utile pour les données temporelles.\n\nUtilisez des listes séparées par des virgules ou des caractères génériques pour rechercher plusieurs flux de données, indices ou alias :\n\n````\nFROM employees-00001,employees-*\n````\n\n#### Métadonnées\n\nES|QL peut accéder aux champs de métadonnées suivants :\n\n* `_index` : l'index auquel appartient le document. Le champ est du type `keyword`.\n* `_id` : l'identifiant du document source. Le champ est du type `keyword`.\n* `_id` : la version du document source. Le champ est du type `long`.\n\nUtilisez la directive `METADATA` pour activer les champs de métadonnées :\n\n````\nFROM index [METADATA _index, _id]\n````\n\nLes champs de métadonnées ne sont disponibles que si la source des données est un index. Par conséquent, `FROM` est la seule commande source qui prend en charge la directive `METADATA`.\n\nUne fois activés, les champs sont disponibles pour les commandes de traitement suivantes, tout comme les autres champs de l'index :\n\n````\nFROM ul_logs, apps [METADATA _index, _version]\n| WHERE id IN (13, 14) AND _version == 1\n| EVAL key = CONCAT(_index, \"_\", TO_STR(id))\n| SORT id, _index\n| KEEP id, _index, _version, key\n````\n\nDe même, comme pour les champs d'index, une fois l'agrégation effectuée, un champ de métadonnées ne sera plus accessible aux commandes suivantes, sauf s'il est utilisé comme champ de regroupement :\n\n````\nFROM employees [METADATA _index, _id]\n| STATS max = MAX(emp_no) BY _index\n````\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.grok.markdown": "### GROK\n`GROK` vous permet d'extraire des données structurées d'une chaîne. `GROK` compare la chaîne à des modèles, sur la base d’expressions régulières, et extrait les modèles indiqués en tant que colonnes.\n\nPour obtenir la syntaxe des modèles \"grok\", consultez [la documentation relative au processeur \"grok\"](https://www.elastic.co/guide/en/elasticsearch/reference/current/grok-processor.html).\n\n````\nROW a = \"12 15.5 15.6 true\"\n| GROK a \"%\\{NUMBER:b:int\\} %\\{NUMBER:c:float\\} %\\{NUMBER:d:double\\} %\\{WORD:e:boolean\\}\"\n````\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.inOperator.markdown": "### IN\nL'opérateur `IN` permet de tester si un champ ou une expression est égal à un élément d'une liste de littéraux, de champs ou d'expressions :\n\n````\nROW a = 1, b = 4, c = 3\n| WHERE c-a IN (3, b / 2, a)\n````\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.keep.markdown": "### KEEP\nLa commande `KEEP` permet de définir les colonnes qui seront renvoyées et l'ordre dans lequel elles le seront.\n\nPour limiter les colonnes retournées, utilisez une liste de noms de colonnes séparés par des virgules. Les colonnes sont renvoyées dans l'ordre indiqué :\n \n````\nFROM employees\n| KEEP first_name, last_name, height\n````\n\nPlutôt que de spécifier chaque colonne par son nom, vous pouvez utiliser des caractères génériques pour renvoyer toutes les colonnes dont le nom correspond à un modèle :\n\n````\nFROM employees\n| KEEP h*\n````\n\nLe caractère générique de l'astérisque (\"*\") placé de manière isolée transpose l'ensemble des colonnes qui ne correspondent pas aux autres arguments. La requête suivante renverra en premier lieu toutes les colonnes dont le nom commence par un h, puis toutes les autres colonnes :\n\n````\nFROM employees\n| KEEP h*, *\n````\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.limit.markdown": "### LIMIT\nLa commande de traitement `LIMIT` permet de restreindre le nombre de lignes :\n \n````\nFROM employees\n| LIMIT 5\n````\n ", @@ -6199,9 +6187,7 @@ "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.mvExpand.markdown": "### MV_EXPAND\nLa commande de traitement `MV_EXPAND` développe les champs multivalués en indiquant une valeur par ligne et en dupliquant les autres champs : \n````\nROW a=[1,2,3], b=\"b\", j=[\"a\",\"b\"]\n| MV_EXPAND a\n````\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.percentileFunction.markdown": "### PERCENTILE\nValeur à laquelle un certain pourcentage des valeurs observées se produit. Par exemple, le 95e percentile est la valeur qui est supérieure à 95 % des valeurs observées et le 50percentile est la médiane (`MEDIAN`).\n\n````\nFROM employees\n| STATS p0 = PERCENTILE(salary, 0)\n , p50 = PERCENTILE(salary, 50)\n , p99 = PERCENTILE(salary, 99)\n````\n\n**REMARQUE** : La fonction `PERCENTILE` est généralement approximative et basée sur l'algorithme TDigest. \n\n**AVERTISSEMENT :** `PERCENTILE` est aussi [non déterministe](https://en.wikipedia.org/wiki/Nondeterministic_algorithm). Cela signifie que vous pouvez obtenir des résultats légèrement différents en utilisant les mêmes données.\n\nCette expression peut utiliser des fonctions alignées. Par exemple, pour calculer un percentile des valeurs maximales d'une colonne multivaluée, il faut d'abord utiliser `MV_MAX` pour obtenir la valeur maximale par ligne et utiliser le résultat avec la fonction `PERCENTILE` :\n\n````\nFROM employees\n| STATS p80_max_salary_change = PERCENTILE(MV_MAX(salary_change), 80)\n````\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.predicates.markdown": "### Valeurs NULL\nPour une comparaison avec une valeur NULL, utilisez les attributs `IS NULL` et `IS NOT NULL` :\n\n````\nFROM employees\n| WHERE birth_date IS NULL\n| KEEP first_name, last_name\n| SORT first_name\n| LIMIT 3\n````\n\n````\nFROM employees\n| WHERE is_rehired IS NOT NULL\n| STATS count(emp_no)\n````\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.rename.markdown": "### RENAME\nUtilisez `RENAME` pour renommer une colonne en utilisant la syntaxe suivante :\n\n````\nRENAME AS \n````\n\nPar exemple :\n\n````\nFROM employees\n| KEEP first_name, last_name, still_hired\n| RENAME still_hired AS employed\n````\n\nSi une colonne portant le nouveau nom existe déjà, elle sera remplacée par la nouvelle colonne.\n\nPlusieurs colonnes peuvent être renommées à l'aide d'une seule commande `RENAME` :\n\n````\nFROM employees\n| KEEP first_name, last_name\n| RENAME first_name AS fn, last_name AS ln\n````\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.row.markdown": "### ROW\nLa commande source `ROW` renvoie une ligne contenant une ou plusieurs colonnes avec les valeurs que vous spécifiez. Cette commande peut s'avérer utile pour les tests.\n \n````\nROW a = 1, b = \"two\", c = null\n````\n\nUtilisez des crochets pour créer des colonnes à valeurs multiples :\n\n````\nROW a = [2, 1]\n````\n\nROW permet d'utiliser des fonctions :\n\n````\nROW a = ROUND(1.23, 0)\n````\n ", - "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.show.markdown": "### SHOW\nLa commande source `SHOW ` renvoie des informations sur le déploiement et ses capacités :\n\n* Utilisez `SHOW INFO` pour renvoyer la version du déploiement, la date de compilation et le hachage.\n* Utilisez `SHOW FUNCTIONS` pour renvoyer une liste de toutes les fonctions prises en charge et un résumé de chaque fonction.\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.sort.markdown": "### SORT\nUtilisez la commande `SORT` pour trier les lignes sur un ou plusieurs champs :\n\n````\nFROM employees\n| KEEP first_name, last_name, height\n| SORT height\n````\n\nL'ordre de tri par défaut est croissant. Définissez un ordre de tri explicite en utilisant `ASC` ou `DESC` :\n\n````\nFROM employees\n| KEEP first_name, last_name, height\n| SORT height DESC\n````\n\nSi deux lignes disposent de la même clé de tri, l'ordre original sera préservé. Vous pouvez ajouter des expressions de tri pour départager les deux lignes :\n\n````\nFROM employees\n| KEEP first_name, last_name, height\n| SORT height DESC, first_name ASC\n````\n\n#### valeurs `null`\nPar défaut, les valeurs `null` sont considérées comme étant supérieures à toutes les autres valeurs. Selon un ordre de tri croissant, les valeurs `null` sont classées en dernier. Selon un ordre de tri décroissant, les valeurs `null` sont classées en premier. Pour modifier cet ordre, utilisez `NULLS FIRST` ou `NULLS LAST` :\n\n````\nFROM employees\n| KEEP first_name, last_name, height\n| SORT first_name ASC NULLS FIRST\n````\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.statsby.markdown": "### STATS ... BY\nUtilisez `STATS ... BY` pour regrouper les lignes en fonction d'une valeur commune et calculer une ou plusieurs valeurs agrégées sur les lignes regroupées.\n\n**Exemples** :\n\n````\nFROM employees\n| STATS count = COUNT(emp_no) BY languages\n| SORT languages\n````\n\nSi `BY` est omis, le tableau de sortie contient exactement une ligne avec les agrégations appliquées sur l'ensemble des données :\n\n````\nFROM employees\n| STATS avg_lang = AVG(languages)\n````\n\nIl est possible de calculer plusieurs valeurs :\n\n````\nFROM employees\n| STATS avg_lang = AVG(languages), max_lang = MAX(languages)\n````\n\nIl est également possible d'effectuer des regroupements en fonction de plusieurs valeurs (uniquement pour les champs longs et les champs de la famille de mots-clés) :\n\n````\nFROM employees\n| EVAL hired = DATE_FORMAT(hire_date, \"YYYY\")\n| STATS avg_salary = AVG(salary) BY hired, languages.long\n| EVAL avg_salary = ROUND(avg_salary)\n| SORT hired, languages.long\n````\n\nConsultez la rubrique **Fonctions d'agrégation** pour obtenir la liste des fonctions pouvant être utilisées avec `STATS ... BY`.\n\nLes fonctions d'agrégation et les expressions de regroupement acceptent toutes deux d'autres fonctions. Ceci est utile pour utiliser `STATS...BY` sur des colonnes à valeur multiple. Par exemple, pour calculer l'évolution moyenne du salaire, vous pouvez utiliser `MV_AVG` pour faire la moyenne des multiples valeurs par employé, et utiliser le résultat avec la fonction `AVG` :\n\n````\nFROM employees\n| STATS avg_salary_change = AVG(MV_AVG(salary_change))\n````\n\nLe regroupement par expression est par exemple le regroupement des employés en fonction de la première lettre de leur nom de famille :\n\n````\nFROM employees\n| STATS my_count = COUNT() BY LEFT(last_name, 1)\n| SORT \"LEFT(last_name, 1)\"\n````\n\nIl n'est pas obligatoire d'indiquer le nom de la colonne de sortie. S'il n'est pas spécifié, le nouveau nom de la colonne est égal à l'expression. La requête suivante renvoie une colonne appelée `AVG(salary)` :\n\n````\nFROM employees\n| STATS AVG(salary)\n````\n\nComme ce nom contient des caractères spéciaux, il doit être placé entre deux caractères (`) lorsqu'il est utilisé dans des commandes suivantes :\n\n````\nFROM employees\n| STATS AVG(salary)\n| EVAL avg_salary_rounded = ROUND(\"AVG(salary)\")\n````\n\n**Remarque** : `STATS` sans aucun groupe est beaucoup plus rapide que l'ajout d'un groupe.\n\n**Remarque** : Le regroupement sur une seule expression est actuellement beaucoup plus optimisé que le regroupement sur plusieurs expressions.\n ", "textBasedEditor.query.textBasedLanguagesEditor.documentationESQL.stCentroidFunction.markdown": "### ST_CENTROID\nCalcule le centroïde spatial sur un champ avec un type de géométrie de point spatial.\n\n````\nAéroports FROM\n| STATS centroid=ST_CENTROID(location)\n````\n ", @@ -6513,7 +6499,6 @@ "uiActionsEnhanced.drilldowns.urlDrilldownCollectConfig.encodeDescription": "Si elle est activée, l'URL sera précédée de l’encodage-pourcent comme caractère d'échappement", "uiActionsEnhanced.drilldowns.urlDrilldownCollectConfig.encodeUrl": "Encoder l'URL", "uiActionsEnhanced.drilldowns.urlDrilldownCollectConfig.openInNewTabLabel": "Ouvrir l'URL dans un nouvel onglet", - "uiActionsEnhanced.drilldowns.urlDrilldownCollectConfig.urlPreviewHelpText": "Veuillez noter que dans l'aperçu, les variables \\{\\{event.*\\}\\} sont remplacées par des valeurs factices.", "uiActionsEnhanced.drilldowns.urlDrilldownCollectConfig.urlPreviewLabel": "Aperçu de l'URL :", "uiActionsEnhanced.drilldowns.urlDrilldownCollectConfig.urlPreviewLinkText": "Aperçu", "uiActionsEnhanced.drilldowns.urlDrilldownCollectConfig.urlTemplateLabel": "Entrer l'URL", @@ -8373,7 +8358,6 @@ "xpack.alerting.maintenanceWindows.createForm.count.after": "Après", "xpack.alerting.maintenanceWindows.createForm.count.occurrence": "occurrence", "xpack.alerting.maintenanceWindows.createForm.countFieldRequiredError": "Un nombre est requis.", - "xpack.alerting.maintenanceWindows.createForm.ends.afterX": "Après \\{x\\}", "xpack.alerting.maintenanceWindows.createForm.ends.never": "Jamais", "xpack.alerting.maintenanceWindows.createForm.ends.onDate": "À la date", "xpack.alerting.maintenanceWindows.createForm.endsLabel": "Fin", @@ -8429,7 +8413,6 @@ "xpack.alerting.maintenanceWindows.upcoming": "À venir", "xpack.alerting.maintenanceWindowsArchiveFailure": "Impossible d'archiver la fenêtre de maintenance.", "xpack.alerting.maintenanceWindowsArchiveSuccess": "Fenêtre de maintenance archivée \"{title}\"", - "xpack.alerting.maintenanceWindowsCreateFailure": "Impossible de créer la fenêtre de maintenance.", "xpack.alerting.maintenanceWindowsCreateSuccess": "Fenêtre de maintenance créée \"{title}\"", "xpack.alerting.maintenanceWindowsFinishedAndArchiveFailure": "Impossible d'annuler et d'archiver la fenêtre de maintenance.", "xpack.alerting.maintenanceWindowsFinishedAndArchiveSuccess": "Fenêtre de maintenance en cours d'exécution annulée et archivée \"{title}\"", @@ -8652,7 +8635,6 @@ "xpack.apm.agentConfig.captureBodyContentTypes.label": "Capturer les types de contenu du corps", "xpack.apm.agentConfig.captureHeaders.description": "Si cette option est définie sur `true`, l'agent capturera les en-têtes de la requête HTTP et de la réponse (y compris les cookies), ainsi que les en-têtes/les propriétés du message lors de l'utilisation de frameworks de messagerie (tels que Kafka).\n\nREMARQUE : Si `false` est défini, cela permet de réduire la bande passante du réseau, l'espace disque et les allocations d'objets.", "xpack.apm.agentConfig.captureHeaders.label": "Capturer les en-têtes", - "xpack.apm.agentConfig.captureJmxMetrics.description": "Enregistrer les indicateurs de JMX sur le serveur APM\n\nPeut contenir plusieurs définitions d'indicateurs JMX séparées par des virgules :\n\n`object_name[] attribute[:metric_name=]`\n\nPour en savoir plus, consultez la documentation de l'agent Java.", "xpack.apm.agentConfig.captureJmxMetrics.label": "Capturer les indicateurs JMX", "xpack.apm.agentConfig.chooseService.editButton": "Modifier", "xpack.apm.agentConfig.chooseService.service.environment.label": "Environnement", @@ -8848,7 +8830,6 @@ "xpack.apm.alerting.fields.service": "Service", "xpack.apm.alerting.fields.transaction.name": "Nom", "xpack.apm.alerting.fields.type": "Type", - "xpack.apm.alerting.transaction.name.custom.text": "Ajouter \\{searchValue\\} en tant que nouveau nom de transaction", "xpack.apm.alerts.action_variables.alertDetailsUrl": "Lien vers l’affichage de résolution des problèmes d’alerte pour voir plus de contextes et de détails. La chaîne sera vide si server.publicBaseUrl n'est pas configuré.", "xpack.apm.alerts.action_variables.environment": "Type de transaction pour lequel l'alerte est créée", "xpack.apm.alerts.action_variables.errorGroupingKey": "La clé de groupe d'erreurs pour laquelle l'alerte est créée", @@ -8875,16 +8856,8 @@ "xpack.apm.alerts.timeLabels.minutes": "minutes", "xpack.apm.alerts.timeLabels.seconds": "secondes", "xpack.apm.alertTypes.anomaly.description": "Alerte lorsque la latence, le rendement ou le taux de transactions ayant échoué d'un service est anormal.", - "xpack.apm.alertTypes.errorCount.defaultActionMessage": "\\{\\{context.reason\\}\\}\n\n\\{\\{rule.name\\}\\} est actif selon les conditions suivantes :\n\n- Nom de service : \\{\\{context.serviceName\\}\\}\n- Environnement : \\{\\{context.environment\\}\\}\n- Nombre d’erreurs : \\{\\{context.triggerValue\\}\\} erreurs sur la dernière période de \\{\\{context.interval\\}\\}\n- Seuil : \\{\\{context.threshold\\}\\}\n\n[Voir les détails de l’alerte](\\{\\{context.alertDetailsUrl\\}\\})\n", - "xpack.apm.alertTypes.errorCount.defaultRecoveryMessage": "\\{\\{context.reason\\}\\}\n\n\\{\\{rule.name\\}\\} a récupéré.\n\n- Nom de service : \\{\\{context.serviceName\\}\\}\n- Environnement : \\{\\{context.environment\\}\\}\n- Nombre d’erreurs : \\{\\{context.triggerValue\\}\\} erreurs sur la dernière période de \\{\\{context.interval\\}\\}\n- Seuil : \\{\\{context.threshold\\}\\}\n\n[Voir les détails de l’alerte](\\{\\{context.alertDetailsUrl\\}\\})\n", "xpack.apm.alertTypes.errorCount.description": "Alerte lorsque le nombre d'erreurs d'un service dépasse un seuil défini.", - "xpack.apm.alertTypes.transactionDuration.defaultActionMessage": "\\{\\{context.reason\\}\\}\n\n\\{\\{rule.name\\}\\} est actif selon les conditions suivantes :\n\n- Nom de service : \\{\\{context.serviceName\\}\\}\n- Type de transaction : \\{\\{context.transactionType\\}\\}\n- Nom de transaction : \\{\\{context.transactionName\\}\\}\n- Environnement : \\{\\{context.environment\\}\\}\n- Latence : \\{\\{context.triggerValue\\}\\} sur la dernière période de \\{\\{context.interval\\}\\}\n- Seuil : \\{\\{context.threshold\\}\\} ms\n\n[Voir les détails de l’alerte](\\{\\{context.alertDetailsUrl\\}\\})\n", - "xpack.apm.alertTypes.transactionDuration.defaultRecoveryMessage": "\\{\\{context.reason\\}\\}\n\n\\{\\{rule.name\\}\\} a récupéré.\n\n- Nom de service : \\{\\{context.serviceName\\}\\}\n- Type de transaction : \\{\\{context.transactionType\\}\\}\n- Nom de transaction : \\{\\{context.transactionName\\}\\}\n- Environnement : \\{\\{context.environment\\}\\}\n- Latence : \\{\\{context.triggerValue\\}\\} sur la dernière période de \\{\\{context.interval\\}\\}\n- Seuil : \\{\\{context.threshold\\}\\} ms\n\n[Voir les détails de l’alerte](\\{\\{context.alertDetailsUrl\\}\\})\n", "xpack.apm.alertTypes.transactionDuration.description": "Alerte lorsque la latence d'un type de transaction spécifique dans un service dépasse le seuil défini.", - "xpack.apm.alertTypes.transactionDurationAnomaly.defaultActionMessage": "\\{\\{context.reason\\}\\}\n\n\\{\\{rule.name\\}\\} est actif selon les conditions suivantes :\n\n- Nom de service : \\{\\{context.serviceName\\}\\}\n- Type de transaction : \\{\\{context.transactionType\\}\\}\n- Environnement : \\{\\{context.environment\\}\\}\n- Sévérité : \\{\\{context.triggerValue\\}\\}\n- Seuil : \\{\\{context.threshold\\}\\}\n\n[Voir les détails de l’alerte](\\{\\{context.alertDetailsUrl\\}\\})\n", - "xpack.apm.alertTypes.transactionDurationAnomaly.defaultRecoveryMessage": "\\{\\{context.reason\\}\\}\n\n\\{\\{rule.name\\}\\} a récupéré.\n\n- Nom de service : \\{\\{context.serviceName\\}\\}\n- Type de transaction : \\{\\{context.transactionType\\}\\}\n- Environnement : \\{\\{context.environment\\}\\}\n- Sévérité : \\{\\{context.triggerValue\\}\\}\n- Seuil : \\{\\{context.threshold\\}\\}\n\n[Voir les détails de l’alerte](\\{\\{context.alertDetailsUrl\\}\\})\n", - "xpack.apm.alertTypes.transactionErrorRate.defaultActionMessage": "\\{\\{context.reason\\}\\}\n\n\\{\\{rule.name\\}\\} est actif selon les conditions suivantes :\n\n- Nom de service : \\{\\{context.serviceName\\}\\}\n- Type de transaction : \\{\\{context.transactionType\\}\\}\n- Environnement : \\{\\{context.environment\\}\\}\n- Taux de transactions ayant échoué : \\{\\{context.triggerValue\\}\\} % des erreurs sur la dernière période de \\{\\{context.interval\\}\\}\n- Seuil : \\{\\{context.threshold\\}\\} %\n\n[Voir les détails de l’alerte](\\{\\{context.alertDetailsUrl\\}\\})\n", - "xpack.apm.alertTypes.transactionErrorRate.defaultRecoveryMessage": "\\{\\{context.reason\\}\\}\n\n\\{\\{rule.name\\}\\} a récupéré.\n\n- Nom de service : \\{\\{context.serviceName\\}\\}\n- Type de transaction : \\{\\{context.transactionType\\}\\}\n- Environnement : \\{\\{context.environment\\}\\}\n- Taux de transactions ayant échoué : \\{\\{context.triggerValue\\}\\} % des erreurs sur la dernière période de \\{\\{context.interval\\}\\}\n- Seuil : \\{\\{context.threshold\\}\\} %\n\n[Voir les détails de l’alerte](\\{\\{context.alertDetailsUrl\\}\\})\n", "xpack.apm.alertTypes.transactionErrorRate.description": "Alerte lorsque le taux d'erreurs de transaction d'un service dépasse un seuil défini.", "xpack.apm.analyzeDataButton.label": "Explorer les données", "xpack.apm.analyzeDataButton.tooltip": "Accéder à la fonctionnalité Explorer les données pour sélectionner et filtrer les données de résultat dans toutes leurs dimensions et rechercher la cause ou l'impact des problèmes de performances.", @@ -8902,7 +8875,6 @@ "xpack.apm.anomalyDetectionSetup.upgradeableJobsText": "Mises à jour disponibles pour les tâches de détection des anomalies existantes.", "xpack.apm.anomalyRuleType.anomalyDetector": "Types de détecteurs", "xpack.apm.anomalyRuleType.anomalyDetector.infoLabel": "Vous devez sélectionner au moins un détecteur", - "xpack.apm.anomalyScore": "Anomalie {severity, select, minor {mineure} major {majeure} critical {critique}}", "xpack.apm.api.apiKeys.securityRequired": "Le plug-in de sécurité est requis", "xpack.apm.api.fleet.cloud_apm_package_policy.requiredRoleOnCloud": "Opération autorisée uniquement pour les utilisateurs Elastic Cloud disposant du rôle de superutilisateur.", "xpack.apm.api.fleet.fleetSecurityRequired": "Les plug-ins Fleet et Security sont requis", @@ -9062,7 +9034,6 @@ "xpack.apm.durationDistributionChartWithScrubber.panelTitle": "Distribution de la latence", "xpack.apm.emptyMessage.noDataFoundDescription": "Essayez avec une autre plage temporelle ou réinitialisez le filtre de recherche.", "xpack.apm.emptyMessage.noDataFoundLabel": "Aucune donnée trouvée.", - "xpack.apm.environmentsSelectCustomOptionText": "Ajouter \\{searchValue\\} en tant que nouvel environnement", "xpack.apm.environmentsSelectPlaceholder": "Sélectionner l'environnement", "xpack.apm.error.prompt.body": "Veuillez consulter la console de développeur de votre navigateur pour plus de détails.", "xpack.apm.error.prompt.title": "Désolé, une erreur s'est produite :(", @@ -9085,7 +9056,6 @@ "xpack.apm.errorGroupTopTransactions.loading": "Chargement...", "xpack.apm.errorGroupTopTransactions.noResults": "Aucune erreur trouvée associée à des transactions", "xpack.apm.errorGroupTopTransactions.title": "5 principales transactions affectées", - "xpack.apm.errorKeySelectCustomOptionText": "Ajouter \\{searchValue\\} comme nouvelle clé de groupe d'erreurs", "xpack.apm.errorOverview.treemap.dropdown.devices.subtitle": "Cet affichage sous forme de compartimentage permet de visualiser plus facilement et rapidement les appareils les plus affectés", "xpack.apm.errorOverview.treemap.dropdown.versions.subtitle": "Cet affichage sous forme de compartimentage permet de visualiser plus facilement et rapidement les versions les plus affectées.", "xpack.apm.errorRate": "Taux de transactions ayant échoué", @@ -9483,7 +9453,6 @@ "xpack.apm.pages.alertDetails.alertSummary.expectedValue": "Valeur attendue", "xpack.apm.pages.alertDetails.alertSummary.serviceEnv": "Environnement de service", "xpack.apm.pages.alertDetails.alertSummary.serviceName": "Nom de service", - "xpack.apm.percentOfParent": "({value} de {parentType, select, transaction { transaction } trace {trace} })", "xpack.apm.profiling.callout.description": "Universal Profiling fournit une visibilité sans précédent du code au milieu du comportement en cours d'exécution de toutes les applications. La fonctionnalité profile chaque ligne de code chez le ou les hôtes qui exécutent vos services, y compris votre code applicatif, le kernel et même les bibliothèque tierces.", "xpack.apm.profiling.callout.dismiss": "Rejeter", "xpack.apm.profiling.callout.learnMore": "En savoir plus", @@ -9687,7 +9656,6 @@ "xpack.apm.serviceMap.zoomIn": "Zoom avant", "xpack.apm.serviceMap.zoomOut": "Zoom arrière", "xpack.apm.serviceMetrics.loading": "Chargement des indicateurs", - "xpack.apm.serviceNamesSelectCustomOptionText": "Ajouter \\{searchValue\\} en tant que nouveau nom de service", "xpack.apm.serviceNamesSelectPlaceholder": "Sélectionner le nom du service", "xpack.apm.serviceNodeMetrics.containerId": "ID de conteneur", "xpack.apm.serviceNodeMetrics.host": "Hôte", @@ -10084,7 +10052,6 @@ "xpack.apm.transactionDetails.distribution.failedTransactionsLatencyDistributionErrorTitle": "Une erreur s'est produite lors de la récupération de la distribution de la latence des transactions ayant échoué.", "xpack.apm.transactionDetails.distribution.latencyDistributionErrorTitle": "Une erreur s'est produite lors de la récupération de la distribution de la latence globale.", "xpack.apm.transactionDetails.noTraceParentButtonTooltip": "Le parent de la trace n'a pas pu être trouvé", - "xpack.apm.transactionDetails.percentOfTraceLabelExplanation": "Le % de {parentType, select, transaction {transaction} trace {trace} } dépasse 100 %, car {childType, select, span {cet intervalle} transaction {cette transaction} } prend plus de temps que la transaction racine.", "xpack.apm.transactionDetails.requestMethodLabel": "Méthode de requête", "xpack.apm.transactionDetails.resultLabel": "Résultat", "xpack.apm.transactionDetails.serviceLabel": "Service", @@ -10156,7 +10123,6 @@ "xpack.apm.transactionsTable.tableSearch.placeholder": "Rechercher des transactions par nom", "xpack.apm.transactionsTable.title": "Transactions", "xpack.apm.transactionsTableColumnName.alertsColumnLabel": "Alertes actives", - "xpack.apm.transactionTypesSelectCustomOptionText": "Ajouter \\{searchValue\\} en tant que nouveau type de transaction", "xpack.apm.transactionTypesSelectPlaceholder": "Sélectionner le type de transaction", "xpack.apm.tutorial.agent_config.choosePolicy.helper": "Ajoute la configuration de la politique sélectionnée à l'extrait ci-dessous.", "xpack.apm.tutorial.agent_config.choosePolicyLabel": "Choix de la politique", @@ -10230,7 +10196,6 @@ "xpack.apm.tutorial.jsClient.installDependency.commands.setServiceVersionComment": "Définir la version de service (requis pour la fonctionnalité source map)", "xpack.apm.tutorial.jsClient.installDependency.textPre": "Vous pouvez installer l'Agent comme dépendance de votre application avec `npm install @elastic/apm-rum --save`.\n\nVous pouvez ensuite initialiser l'agent et le configurer dans votre application de cette façon :", "xpack.apm.tutorial.jsClient.installDependency.title": "Configurer l'agent comme dépendance", - "xpack.apm.tutorial.jsClient.scriptTags.textPre": "Vous pouvez également utiliser les balises Script pour configurer l'agent. Ajoutez un indicateur `