云服务器内容精选

  • 请求参数场景说明 租户信息同步接口/租户应用信息同步接口/组织部门信息同步(增量): 若接口请求参数的“flag”字段删除、修改或新增,服务商需要实现删除、修改或新增租户信息的业务逻辑。自测用例请参见联营License类应用绑定。 租户应用授权信息同步接口: 若接口请求参数的“flag”字段删除或新增,服务商需要实现删除或新增租户信息的业务逻辑。自测用例请参见联营License类应用绑定。 下述两个场景需要用到扩展字段extension功能: ERP类应用,涉及到多账套的需通过扩展字段extension来传账套信息。 非ERP类应用,如果需要同步user扩展字段(如手机号、工号、邮箱等字段),可通过扩展字段来进行扩展传参,ISV端需要提前做好对接逻辑。扩展字段详细操作请参考企业租户将应用授权给下属的用户中的ERP类应用多账套或者扩展字段传参流程。 租户应用授权信息同步时,需要根据用户信息userList中的role参数描述的逻辑进行处理。 role字段有admin、user的区分,测试时与租户手机号相同的用户作为admin角色,其它用户作为user角色: admin:role传到第三方应用下游,该用户在平台进入应用时默认有管理员的权限。 user:role传到第三方应用下游,该用户在平台进入应用时默认有用户的权限。
  • 组织和账号同步说明 组织部门信息同步(增量)/组织部门信息同步(全量): 组织同步说明: 应用有组织部门 ISV应用中如果每个用户都有单独的组织,即整个租户下的组织是树形结构,每个用户都挂在各自的组织下,则需要做组织的同步。 应用无组织部门 ISV应用中如果每个用户都挂在一个根组织下,即没有组织结构,组织不做对接就可以,同步组织事件做一个“伪通过”即可。 存量组织、账号同步说明: 应用涉及存量组织、账号同步 ISV应用本身有存量的组织、用户,若涉及旧数据迁移到MIW新平台,就需要考虑存量组织、用户同步的场景。 应用不涉及存量组织、账号同步 ISV应用本身无存量的组织、用户,若不涉及旧数据迁移到MIW新平台,就无需考虑存量组织、用户同步的场景。 应用中的存量组织数据迁移,应用程序根据如下流程处理: 应用中的存量用户数据迁移,应用程序根据如下流程处理:
  • 组织和账号同步说明 组织部门信息同步(增量)/组织部门信息同步(全量): 组织同步说明: 应用有组织部门 ISV应用中如果每个用户都有单独的组织,即整个租户下的组织是树形结构,每个用户都挂在各自的组织下,则需要做组织的同步。 应用无组织部门 ISV应用中如果每个用户都挂在一个根组织下,即没有组织结构,组织不做对接就可以,同步组织事件做一个“伪通过”即可。 存量组织、账号同步说明: 应用涉及存量组织、账号同步 ISV应用本身有存量的组织、用户,若涉及旧数据迁移到MIW新平台,就需要考虑存量组织、用户同步的场景。 应用不涉及存量组织、账号同步 ISV应用本身无存量的组织、用户,若不涉及旧数据迁移到MIW新平台,就无需考虑存量组织、用户同步的场景。 应用中的存量组织数据迁移,应用程序根据如下流程处理: 应用中的存量用户数据迁移,应用程序根据如下流程处理:
  • 请求参数场景说明 租户信息同步接口/租户应用信息同步接口/组织部门信息同步(增量): 若接口请求参数的“flag”字段删除、修改或新增,服务商需要实现删除、修改或新增租户信息的业务逻辑。自测用例请参见云商店购买SaaS类应用绑定。 租户应用授权信息同步接口: 若接口请求参数的“flag”字段删除、修改或新增,服务商需要实现删除或新增租户信息的业务逻辑。自测用例请参见云商店购买SaaS类应用绑定。 下述两个场景需要用到扩展字段extension功能: ERP类应用,涉及到多账套的需通过扩展字段extension来传账套信息。 非ERP类应用,如果需要同步user扩展字段(如手机号、工号、邮箱等字段),可通过扩展字段来进行扩展传参,ISV端需要提前做好对接逻辑。扩展字段详细操作请参考企业租户将应用授权给下属的用户中的ERP类应用多账套或者扩展字段传参流程。 租户应用授权信息同步时,需要根据用户信息userList中的role参数描述的逻辑进行处理。 role字段有admin、user的区分,测试时与租户手机号相同的用户作为admin角色,其它用户作为user角色: admin:role传到第三方应用下游,该用户在平台进入应用时默认有管理员的权限。 user:role传到第三方应用下游,该用户在平台进入应用时默认有用户的权限。
  • 分词器测试 函数ts_debug允许简单测试文本搜索分词器。 1 2 3 4 5 6 7 8 ts_debug([ config regconfig, ] document text, OUT alias text, OUT description text, OUT token text, OUT dictionaries regdictionary[], OUT dictionary regdictionary, OUT lexemes text[]) returns setof record ts_debug显示document的每个token信息,token是由解析器生成,由指定的词典进行处理。如果忽略对应参数,则使用config指定的分词器或者default_text_search_config指定的分词器。 ts_debug为文本解析器标识的每个token返回一行记录。记录中的列分别是: alias:text类型,token的别名。 description:text类型,token的描述。 token:text类型,token的文本内容。 dictionaries:regdictionary数组类型,是分词器为token选定的词典。 dictionary:regdictionary类型,用来识别token的词典。如果为空,则不做识别。 lexemes:text数组类型,词典识别token时生成的词素。如果为空,则不生成词素。空数组({})意味着token将被识别成停用词。 一个简单的例子: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 openGauss=# SELECT * FROM ts_debug('english','a fat cat sat on a mat - it ate a fat rats'); alias | description | token | dictionaries | dictionary | lexemes -----------+-----------------+-------+----------------+--------------+--------- asciiword | Word, all ASCII | a | {english_stem} | english_stem | {} blank | Space symbols | | {} | | asciiword | Word, all ASCII | fat | {english_stem} | english_stem | {fat} blank | Space symbols | | {} | | asciiword | Word, all ASCII | cat | {english_stem} | english_stem | {cat} blank | Space symbols | | {} | | asciiword | Word, all ASCII | sat | {english_stem} | english_stem | {sat} blank | Space symbols | | {} | | asciiword | Word, all ASCII | on | {english_stem} | english_stem | {} blank | Space symbols | | {} | | asciiword | Word, all ASCII | a | {english_stem} | english_stem | {} blank | Space symbols | | {} | | asciiword | Word, all ASCII | mat | {english_stem} | english_stem | {mat} blank | Space symbols | | {} | | blank | Space symbols | - | {} | | asciiword | Word, all ASCII | it | {english_stem} | english_stem | {} blank | Space symbols | | {} | | asciiword | Word, all ASCII | ate | {english_stem} | english_stem | {ate} blank | Space symbols | | {} | | asciiword | Word, all ASCII | a | {english_stem} | english_stem | {} blank | Space symbols | | {} | | asciiword | Word, all ASCII | fat | {english_stem} | english_stem | {fat} blank | Space symbols | | {} | | asciiword | Word, all ASCII | rats | {english_stem} | english_stem | {rat} (24 rows) 父主题: 测试和调试文本搜索
  • 分词器测试 函数ts_debug允许简单测试文本搜索分词器。 1 2 3 4 5 6 7 8 ts_debug([ config regconfig, ] document text, OUT alias text, OUT description text, OUT token text, OUT dictionaries regdictionary[], OUT dictionary regdictionary, OUT lexemes text[]) returns setof record ts_debug显示document的每个token信息,token是由解析器生成,由指定的词典进行处理。如果忽略对应参数,则使用config指定的分词器或者default_text_search_config指定的分词器。 ts_debug为文本解析器标识的每个token返回一行记录。记录中的列分别是: alias:text类型,token的别名。 description:text类型,token的描述。 token:text类型,token的文本内容。 dictionaries:regdictionary数组类型,是分词器为token选定的词典。 dictionary:regdictionary类型,用来识别token的词典。如果为空,则不做识别。 lexemes:text数组类型,词典识别token时生成的词素。如果为空,则不生成词素。空数组({})意味着token将被识别成停用词。 一个简单的例子: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 openGauss=# SELECT * FROM ts_debug('english','a fat cat sat on a mat - it ate a fat rats'); alias | description | token | dictionaries | dictionary | lexemes -----------+-----------------+-------+----------------+--------------+--------- asciiword | Word, all ASCII | a | {english_stem} | english_stem | {} blank | Space symbols | | {} | | asciiword | Word, all ASCII | fat | {english_stem} | english_stem | {fat} blank | Space symbols | | {} | | asciiword | Word, all ASCII | cat | {english_stem} | english_stem | {cat} blank | Space symbols | | {} | | asciiword | Word, all ASCII | sat | {english_stem} | english_stem | {sat} blank | Space symbols | | {} | | asciiword | Word, all ASCII | on | {english_stem} | english_stem | {} blank | Space symbols | | {} | | asciiword | Word, all ASCII | a | {english_stem} | english_stem | {} blank | Space symbols | | {} | | asciiword | Word, all ASCII | mat | {english_stem} | english_stem | {mat} blank | Space symbols | | {} | | blank | Space symbols | - | {} | | asciiword | Word, all ASCII | it | {english_stem} | english_stem | {} blank | Space symbols | | {} | | asciiword | Word, all ASCII | ate | {english_stem} | english_stem | {ate} blank | Space symbols | | {} | | asciiword | Word, all ASCII | a | {english_stem} | english_stem | {} blank | Space symbols | | {} | | asciiword | Word, all ASCII | fat | {english_stem} | english_stem | {fat} blank | Space symbols | | {} | | asciiword | Word, all ASCII | rats | {english_stem} | english_stem | {rat} (24 rows) 父主题: 测试和调试文本搜索
  • Notebook容器挂载目录介绍 创建Notebook实例,存储选择EVS时,Notebook会使用/home/ma-user/work目录作为用户的工作空间持久化存储。 存放在work目录的内容,在实例停止、重新启动后依然保留,其他目录下的内容不会保留,使用开发环境时建议将需要持久化的数据放在/home/ma-user/work目录。 更多Notebook实例的目录挂载情况(以下挂载点在保存镜像的时候不会保存)如表4所示。 表4 Notebook挂载目录介绍 挂载点 是否只读 备注 /home/ma-user/work/ 否 客户数据的持久化目录。 /data 否 客户PFS的挂载目录。 /cache 否 裸机规格时支持,用于挂载宿主机NVMe的硬盘。 /train-worker1-log 否 兼容训练任务调试过程。 /dev/shm 否 用于PyTorch引擎加速。
  • 打开Notebook实例 针对创建好的Notebook实例(即状态为“运行中”的实例),可以打开Notebook并在开发环境中启动编码。 pytorch、tensorflow、mindspore、tensorflow-mindspore、cylp-cbcpy、rlstudio-ray、mindquantum-mindspore镜像支持以下2种方式访问: 在线JupyterLab访问,具体参见通过JupyterLab在线使用Notebook实例进行AI开发。 本地IDE使用PyCharm工具,远程连接访问,具体参见通过PyCharm远程使用Notebook实例。 本地IDE使用VS Code工具,远程连接访问,具体参见通过VS Code远程使用Notebook实例。 本地IDE使用SSH工具,远程连接访问,具体参见通过SSH工具远程使用Notebook。 ModelArts提供的Notebook实例是以ma-user启动的,用户进入实例后,工作目录默认是/home/ma-user。
  • 背景信息 Notebook使用涉及到计费,具体收费项如下: 处于“运行中”状态的Notebook,会消耗资源,产生费用。根据您选择的资源不同,收费标准不同,价格详情请参见产品价格详情。当您不需要使用Notebook时,建议停止Notebook,避免产生不必要的费用。 创建Notebook时,如果选择使用云硬盘EVS存储配置,实例不删除,云硬盘EVS会一直收费,建议及时停止并删除Notebook,避免产品不必要的费用。 在创建Notebook时,默认会开启自动停止功能,在指定时间内停止运行Notebook,避免资源浪费。 只有处于“运行中”状态的Notebook,才可以执行打开、停止操作。 一个账户最多创建10个Notebook。
  • Notebook选择存储说明 不同存储的实现方式都不同,在性能、易用性、成本的权衡中可以有不同的选择,没有一个存储可以覆盖所有场景,了解下云上开发环境中各种存储使用场景说明,更能提高使用效率。 表5 云上开发环境中各种存储使用场景说明 存储类型 建议使用场景 优点 缺点 云硬盘EVS 比较适合只在开发环境中进行数据和算法探索,性能较好。 块存储SSD,可以理解为一个磁盘,整体IO性能比NFS要好,可以动态扩充,最大可以到4096GB。 云硬盘EVS作为持久化存储挂载在/home/ma-user/work目录下,该目录下的内容在实例停止后会被保留,存储支持在线按需扩容。 只能在单个开发环境中使用 。 并行文件系统PFS 说明: 并行文件系统PFS为白名单功能,如需使用,请联系华为技术支持开通。 仅支持挂载同一区域下的OBS并行文件系统(PFS)。 适合直接使用PFS桶作为持久化存储进行AI开发和探索,使用场景如下。 数据集的存储。将存储在PFS桶的数据集直接挂载到Notebook进行浏览和数据处理,在训练时直接使用。直接在创建Notebook的时候选择并行文件系统PFS。 或在实例运行后,将承载数据集的OBS并行文件系统动态挂载至Notebook中,详细操作请参考动态挂载OBS并行文件系统。 代码的存储。在Notebook调测完成,可以直接指定对应的对象存储路径作为启动训练的代码路径,方便临时修改。 训练观测。可以将训练日志等输出路径进行挂载,在Notebook中实时查看和观测,特别是利用TensorBoard可视化功能完成对训练输出的分析。 PFS是一种经过优化的高性能对象存储文件系统,存储成本低,吞吐量大,能够快速处理高性能计算(HPC)工作负载。在需要使用 对象存储服务 场景下,推荐使用PFS挂载。 说明: 建议上传时按照128MB或者64MB打包或者切分,使用时边下载边解压后在本地存储读取,以获取更好的读写与吞吐性能。 小文件频繁读写性能较差,例如直接作为存储用于模型重型训练,大文件解压等场景慎用。 说明: PFS挂载需要用户对当前桶授权给ModelArts完整读写权限,Notebook删除后,此权限策略不会被删除。 对象存储服务OBS 说明: OBS对象存储为白名单功能,如需使用,请联系华为技术支持开通。 仅支持挂载同一区域下的OBS对象存储。 在开发环境中做大规模的数据上传下载时,可以通过OBS桶做中转。 存储成本低,吞吐量大,但是小文件读写较弱。建议上传时按照128MB或者64MB打包或者切分,使用时边下载边解压后在本地读取。 对象存储语义,和Posix语义有区别,需要进一步理解。 弹性文件服务SFS 目前只支持在专属资源池中使用;针对探索、实验等非正式生产场景,建议使用这种。开发环境和训练环境可以同时挂载一块SFS存储,省去了每次训练作业下载数据的要求,一般来说重IO读写模型,超过32卡的大规模训练不适合。 实现为NFS,可以在多个开发环境、开发环境和训练之间共享,如果不需要重型分布式训练作业,特别是启动训练作业时,不需要额外再对数据进行下载,这种存储便利性可以作为首选。 性能比EVS云硬盘块存储低。 OceanStor Pacific存储(SFS容量型2.0) 目前只支持在天工专属资源池中使用。 适合直接使用SFS容量型2.0提供的文件系统作为训练任务所需的存储进行AI模型的训练和探索。同时提供OBS接口,支持从云外导入训练数据。 提供高性能文件客户端,满足重型训练任务中对存储高带宽诉求,同时提供OBS访问功能,同一份训练数据通过OBS接口导入到存储之后不需要再进相关转化,即可支持模型训练。 提供对象存储语义,和Posix语义有区别,需要进一步理解。 本地存储 重型训练任务首选 运行所在虚拟机或者裸金属机器上自带的SSD高性能存储,文件读写的吞吐量大,建议对于重型训练任务先将数据准备到对应目录再启动训练。 默认在容器/cache目录下进行挂载,/cache目录可用空间请参考开发环境中不同Notebook规格资源“/cache”目录的大小。 存储生命周期和容器生命周期绑定,每次训练都要下载数据。 在开发环境中如何使用云硬盘EVS块存储? 例如,在创建Notebook实例时选择云硬盘EVS存储小容量,Notebook运行过程中如果发现存储容量不够,可以扩容,请参考动态扩充云硬盘EVS容量。 在开发环境中如何使用OBS并行文件系统? 例如,在Notebook中训练时,可直接使用挂载至Notebook容器中的数据集,在运行过程中可以动态挂载OBS并行文件系统。
  • 前置条件和约束 使用工作流在线调试功能,您需要拥有一个ROMA Connect实例作为调试运行环境。目前您可以使用共享体验版实例。 使用工作流在线调试功能,调试环境如果选择共享体验版实例,您可同时调试的最大工作流数量为1条。 使用工作流在线调试功能,工作流的触发器节点不会真实运行,如Open API节点不会发布为API,您需要手动配置触发器节点进行触发。 使用工作流在线调试功能,在单个节点的最大停留时间为60s,超时后会自动向后运行。 父主题: 在线调试工作流
  • 调试选项 loglevel:UPDATE|INFO|WARNING|ASSERT|EXCEPTION|ERROR|NONE 日志级别左边包含右边的日志信息,即UPDATE级别会打印所有日志信息,使用该字段会打印HTDebug的日志,并写日志到此文件的上一级文件目录。NONE表示不保存log。 debugger_ctrl_switch:ON|OFF 是否在日志中显示调试面板,只对HTAppUIType中mNativeAppIds包含的应用包名有效。 fixed_location_switch:ON|OFF 是否使用自定义的固定位置。 longitude 经度,填写固定位置经纬的值,只在“fixed_location_switch”为“ON”时有效。 latitude 纬度,填写固定位置纬度的值,只在“fixed_location_switch”为“ON”时有效。
  • 分词器测试 函数ts_debug允许简单测试文本搜索分词器。 1 2 3 4 5 6 7 8 ts_debug([ config regconfig, ] document text, OUT alias text, OUT description text, OUT token text, OUT dictionaries regdictionary[], OUT dictionary regdictionary, OUT lexemes text[]) returns setof record ts_debug显示document的每个token信息,token是由解析器生成,由指定的词典进行处理。如果忽略对应参数,则使用config指定的分词器或者default_text_search_config指定的分词器。 ts_debug为文本解析器标识的每个token返回一行记录。记录中的列分别是: alias:text类型,token的别名。 description:text类型,token的描述。 token:text类型,token的文本内容。 dictionaries:regdictionary数组类型,是分词器为token选定的词典。 dictionary:regdictionary类型,用来识别token的词典。如果为空,则不做识别。 lexemes:text数组类型,词典识别token时生成的词素。如果为空,则不生成词素。空数组({})意味着token将被识别成停用词。 一个简单的例子: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 SELECT * FROM ts_debug('english','a fat cat sat on a mat - it ate a fat rats'); alias | description | token | dictionaries | dictionary | lexemes -----------+-----------------+-------+----------------+--------------+--------- asciiword | Word, all ASCII | a | {english_stem} | english_stem | {} blank | Space symbols | | {} | | asciiword | Word, all ASCII | fat | {english_stem} | english_stem | {fat} blank | Space symbols | | {} | | asciiword | Word, all ASCII | cat | {english_stem} | english_stem | {cat} blank | Space symbols | | {} | | asciiword | Word, all ASCII | sat | {english_stem} | english_stem | {sat} blank | Space symbols | | {} | | asciiword | Word, all ASCII | on | {english_stem} | english_stem | {} blank | Space symbols | | {} | | asciiword | Word, all ASCII | a | {english_stem} | english_stem | {} blank | Space symbols | | {} | | asciiword | Word, all ASCII | mat | {english_stem} | english_stem | {mat} blank | Space symbols | | {} | | blank | Space symbols | - | {} | | asciiword | Word, all ASCII | it | {english_stem} | english_stem | {} blank | Space symbols | | {} | | asciiword | Word, all ASCII | ate | {english_stem} | english_stem | {ate} blank | Space symbols | | {} | | asciiword | Word, all ASCII | a | {english_stem} | english_stem | {} blank | Space symbols | | {} | | asciiword | Word, all ASCII | fat | {english_stem} | english_stem | {fat} blank | Space symbols | | {} | | asciiword | Word, all ASCII | rats | {english_stem} | english_stem | {rat} (24 rows) 父主题: 测试和调试文本搜索
  • 分词器测试 函数ts_debug允许简单测试文本搜索分词器。 1 2 3 4 5 6 7 8 ts_debug([ config regconfig, ] document text, OUT alias text, OUT description text, OUT token text, OUT dictionaries regdictionary[], OUT dictionary regdictionary, OUT lexemes text[]) returns setof record ts_debug显示document的每个token信息,token是由解析器生成,由指定的词典进行处理。如果忽略对应参数,则使用config指定的分词器或者default_text_search_config指定的分词器。 ts_debug为文本解析器标识的每个token返回一行记录。记录中的列分别是: alias:text类型,token的别名。 description:text类型,token的描述。 token:text类型,token的文本内容。 dictionaries:regdictionary数组类型,是分词器为token选定的词典。 dictionary:regdictionary类型,用来识别token的词典。如果为空,则不做识别。 lexemes:text数组类型,词典识别token时生成的词素。如果为空,则不生成词素。空数组({})意味着token将被识别成停用词。 一个简单的例子: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 SELECT * FROM ts_debug('english','a fat cat sat on a mat - it ate a fat rats'); alias | description | token | dictionaries | dictionary | lexemes -----------+-----------------+-------+----------------+--------------+--------- asciiword | Word, all ASCII | a | {english_stem} | english_stem | {} blank | Space symbols | | {} | | asciiword | Word, all ASCII | fat | {english_stem} | english_stem | {fat} blank | Space symbols | | {} | | asciiword | Word, all ASCII | cat | {english_stem} | english_stem | {cat} blank | Space symbols | | {} | | asciiword | Word, all ASCII | sat | {english_stem} | english_stem | {sat} blank | Space symbols | | {} | | asciiword | Word, all ASCII | on | {english_stem} | english_stem | {} blank | Space symbols | | {} | | asciiword | Word, all ASCII | a | {english_stem} | english_stem | {} blank | Space symbols | | {} | | asciiword | Word, all ASCII | mat | {english_stem} | english_stem | {mat} blank | Space symbols | | {} | | blank | Space symbols | - | {} | | asciiword | Word, all ASCII | it | {english_stem} | english_stem | {} blank | Space symbols | | {} | | asciiword | Word, all ASCII | ate | {english_stem} | english_stem | {ate} blank | Space symbols | | {} | | asciiword | Word, all ASCII | a | {english_stem} | english_stem | {} blank | Space symbols | | {} | | asciiword | Word, all ASCII | fat | {english_stem} | english_stem | {fat} blank | Space symbols | | {} | | asciiword | Word, all ASCII | rats | {english_stem} | english_stem | {rat} (24 rows) 父主题: 测试和调试文本搜索
  • 解析器测试 函数ts_parse可以直接测试文本搜索解析器。 1 2 ts_parse(parser_name text, document text, OUT tokid integer, OUT token text) returns setof record ts_parse解析指定的document并返回一系列的记录,一条记录代表一个解析生成的token。每条记录包括标识token类型的tokid,及token文本。比如: 1 2 3 4 5 6 7 8 9 10 SELECT * FROM ts_parse('default', '123 - a number'); tokid | token -------+-------- 22 | 123 12 | 12 | - 1 | a 12 | 1 | number (6 rows) 1 2 ts_token_type(parser_name text, OUT tokid integer, OUT alias text, OUT description text) returns setof record ts_token_type返回一个表,这个表描述了指定解析器可以识别的每种token类型。对于每个token类型,表中给出了整数类型的tokid--用于解析器标记对应的token类型;alias——命名分词器命令中的token类型;及简单描述。比如: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 SELECT * FROM ts_token_type('default'); tokid | alias | description -------+-----------------+------------------------------------------ 1 | asciiword | Word, all ASCII 2 | word | Word, all letters 3 | numword | Word, letters and digits 4 | email | Email address 5 | url | URL 6 | host | Host 7 | sfloat | Scientific notation 8 | version | Version number 9 | hword_numpart | Hyphenated word part, letters and digits 10 | hword_part | Hyphenated word part, all letters 11 | hword_asciipart | Hyphenated word part, all ASCII 12 | blank | Space symbols 13 | tag | XML tag 14 | protocol | Protocol head 15 | numhword | Hyphenated word, letters and digits 16 | asciihword | Hyphenated word, all ASCII 17 | hword | Hyphenated word, all letters 18 | url_path | URL path 19 | file | File or path name 20 | float | Decimal notation 21 | int | Signed integer 22 | uint | Unsigned integer 23 | entity | XML entity (23 rows) 父主题: 测试和调试文本搜索