-module(agAnalyzers). -include("eArango.hrl"). -compile(inline). -compile({inline_size, 128}). -compile([export_all, nowarn_export_all]). % doc_address:https://www.arangodb.com/docs/stable/http/analyzers.html % 分析仪的HTTP接口 % 可通过/_api/analyzer端点访问用于管理ArangoSearch Analyzer的RESTful API 。 % 有关简介以及可用的类型,属性和功能,请参见分析器的描述。 % 根据提供的定义创建一个新的分析器 % POST /_api/analyzer % 具有以下属性的JSON对象是必需的: % name:分析器名称。 % type:分析器类型。 % properties:用于配置指定分析器类型的属性。 % features:在分析器生成的字段上设置的一组功能。默认值为空数组。 % 根据提供的配置创建一个新的分析器。 % 返回码 % 200:名称和定义匹配的分析器已存在。 % 201:成功创建了新的分析器定义。 % 400:缺少一个或多个必需参数,或者一个或多个参数无效。 % 403:用户无权使用此配置创建和分析器。 newAnalyzer(PoolNameOrSocket, MapData) -> agVstCli:callAgency(PoolNameOrSocket, ?AgPost, <<"/_api/analyzer">>, ?AgDefQuery, ?AgDefHeader, eVPack:encodeBin(MapData)). % 返回分析器定义 % GET /_api/analyzer/{analyzer-name} % 路径参数 % Analyzer-name(必填):要检索的分析器的名称。 % 检索指定分析器名称的完整定义。结果对象包含以下属性: % name:分析器名称 % type:分析仪类型 % properties:用于配置指定类型的属性 % features:在分析器生成的字段上设置的功能集 % 返回码 % 200:分析器定义已成功检索。 % 404:不存在这种分析器配置。 getAnalyzer(PoolNameOrSocket, AnalyzerName) -> Path = <<"/_api/analyzer/", AnalyzerName/binary>>, agVstCli:callAgency(PoolNameOrSocket, ?AgGet, Path). % 返回可用的分析器定义列表 % GET /_api/analyzer % 检索所有分析器定义的数组。结果数组包含具有以下属性的对象: % name:分析器名称 % type:分析仪类型 % properties:用于配置指定类型的属性 % features:在分析器生成的字段上设置的功能集 % 返回码 % 200:分析器定义已成功检索。 analyzerList(PoolNameOrSocket) -> agVstCli:callAgency(PoolNameOrSocket, ?AgGet, <<"/_api/analyzer">>). % 删除分析仪配置 % DELETE /_api/analyzer/{analyzer-name} % 路径参数 % Analyzer-name(必填):要删除的分析器的名称。 % 查询参数 % force (可选):即使正在使用分析仪配置,也应将其删除。默认值为false。 % 删除由analyzer-name标识的Analyzer配置。 % 如果成功删除了分析器定义,将返回具有以下属性的对象: % 错误:假 % name:删除的分析器的名称 % 返回码 % 200:分析仪配置已成功删除。 % 400:未提供分析器名称,或其他请求参数无效。 % 403:用户无权删除此分析器配置。 % 404:不存在这种分析器配置。 % 409:指定的分析器配置仍在使用中,并且省略了强制或 指定了错误。。 delAnalyzer(PoolNameOrSocket, AnalyzerName) -> Path = <<"/_api/analyzer/", AnalyzerName/binary>>, agVstCli:callAgency(PoolNameOrSocket, ?AgDelete, Path). delAnalyzer(PoolNameOrSocket, AnalyzerName, QueryPars) -> Path = <<"/_api/analyzer/", AnalyzerName/binary>>, agVstCli:callAgency(PoolNameOrSocket, ?AgDelete, Path, QueryPars).