
# 为搜索服务定义配置索引规则
索引是搜索服务的核心引擎，决定了数据如何被存储、分词及检索。在设备资产检索、质量追溯、物料查询等场景中，只有正确配置索引，系统才能对分散在不同模型中的数据进行高效检索。
不同索引类型与分词策略将直接影响搜索的召回率（系统找到相关数据的能力）与准确率（返回结果与查询意图的相关性）。
典型业务配置示例：
| 业务场景     | 字段示例 | 推荐配置               | 配置目的                                 |
|:---|:---|:---|:---|
| 唯一标识精准定位 | 设备编码 | 文本索引 + 不分词 + 精确匹配  | 确保唯一编码的精准定位。                         |
| 文本内容模糊查询 | 故障描述 | 文本索引 + 普通分词 + 模糊匹配 | 提升故障关键词的召回能力。                        |
| 时间范围筛选   | 投产日期 | 日期索引 + 范围匹配        | 支持按时间区间（如2025-01-01至2025-12-31）筛选台账。 |
   
#### 约束与限制
- **JSON索引限制**
  - 不支持全局关键词搜索：JSON类型字段无法响应全局搜索框输入，必须通过指定路径或过滤条件进行查询。
  
  - 数组扁平化处理：JSON数组对象在底层被扁平化存储，不支持跨对象元素的强关联查询。例如：查询"array.name=A AND array.age=18"时，如果A和18分别属于数组中的不同元素，可能会产生误命中。
   
- **分类属性使用JSON索引的限制**
  - 数值查询：
    - 浮点型数据必须按属性标度补齐精度。例如：标度为4的属性，输入2.5需格式化为2.5000，否则可能导致匹配失败。
    
    - 不支持范围查询。
     
  
  - 日期范围：
    - 必须使用**13位毫秒级时间戳**。
    
    - 如原字段使用"单字分词"，则该字段不支持范围查询，需使用".keyword"后缀字段进行范围查询。
     
   
 
#### 前提条件
- 已[登录应用运行态](https://support.huaweicloud.com/consog-idme/idme_consog_0023.html)。
- 已完成搜索服务定义的创建，具体操作请参见[创建搜索服务定义](https://support.huaweicloud.com/usermanual-idme/idme_clientog_0138.html)。
- 已明确待检索的数据字段及其业务特征（如编码类字段需精确匹配，描述类字段需模糊检索）。
 
#### 在"索引定义"添加索引
1. 在左侧导航栏中，选择"搜索服务管理 \> 搜索服务定义"，进入"搜索服务定义"页面。
2. 找到目标搜索服务定义，单击![](https://support.huaweicloud.com/usermanual-idme/figure/zh-cn_image_0000002583849372.png)，进入编辑页面。
   
   如果目标搜索服务定义的"状态"为"已发布"，需先单击![](https://support.huaweicloud.com/usermanual-idme/figure/zh-cn_image_0000002614209163.png)，并在弹出的窗口中单击"确定"，进入修订状态后才能编辑。
   
   
3. 切换至"索引定义"页签，单击"添加索引"，列表将自动新增一行空白索引。 
   图1添加索引   
   ![](https://support.huaweicloud.com/usermanual-idme/figure/zh-cn_image_0000002614369043.png "点击放大")
   
   
4. 参照如下参数说明，结合业务数据类型，逐项完成索引全参数配置。 
   表1添加索引的配置信息 
   | 参数名称    | 参数说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   |:---|:---|
   | 索引名称    | 索引的唯一标识名称。 **约束** **限制**： 不能包含特殊字符，长度不能超过255个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
   | 索引描述    | 对索引用途或内容的简要说明。 **约束** **限制**： 长度不超过255个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   | 索引类型    | 根据数据特征与检索需求选择：文本、日期、浮点型、长整型、联合索引、JSON。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
   | 运算符     | 定义联合索引中各子字段的逻辑关系。 - 与：AND，结果需同时满足所有子字段条件。  - 或：OR，结果满足任意一个子字段条件即可。   **约束** **限制**： 仅当"索引类型"选择"联合索引"时必填，其他类型置灰不可编辑。                                                                                                                                       |
   | 分隔符     | 用于区分联合索引中不同字段值或关键词的分隔符号，默认值："/"。 常见分隔符：空格、制表符、逗号、分号、竖线等。 **约束** **限制**： - 仅当"索引类型"为"联合索引"时选填，其他类型置灰不可编辑。  - 如未手动设置，系统默认使用"/"进行分隔。请确保输入数据中的分隔符与此处设置一致，否则可能影响解析效果。                                         |
   | 分词方法    | 用于定义系统对字段内容的切词策略。支持：不分词、普通分词、英文普通分词、最全分词、单字分词、分隔符分词。 **约束** **限制**： 仅当"索引类型"为"文本"、"联合索引"或"JSON"时必填，其他类型置灰不可编辑。                                                                                                                                                                                                                                                                                                                                                                                                |
   | 分词选项    | 分词方法的附加处理策略。 根据所选的"分词方法"动态展示，详细说明请参见[分词选项说明]。                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
   | 作为过滤条件  | 设置是否将该索引字段用作搜索结果的筛选条件。 - Y：系统将根据该字段的值对搜索结果进行过滤。  - N：不作为过滤条件。                                                                                                                                                                                                                                                        |
   | 参与关键词搜索 | 设置字段是否纳入全局关键词搜索范围。 - Y：用户输入的关键词会在此字段中检索。  - N：不参与全局关键词搜索。   **约束** **限制**： 当"索引类型"选择"JSON"时，只能为"N"，且置灰不可修改。 |
   | 展示      | 设置是否在API响应结果中返回该字段值。 - Y：API出参中包含此字段。  - N：API出参中隐藏此字段。                                                                                                                                                                                                                                                                                                     |
   | 匹配方法    | 设置索引的具体匹配逻辑。支持：精确匹配、模糊匹配、范围匹配、短语匹配。 不同索引类型对匹配方法的支持存在差异，详情说明请参见[匹配方法支持矩阵]。 **约束** **限制**： 仅当"作为过滤条件"与"参与关键词搜索"至少有一项选择"Y"时必填，否则置灰且不可修改。                                                                                                                                                                                                                                                                     |
      
   
   
5. 完成所有配置后，单击底部"当前页签"中的"保存"。
 
#### 索引类型参考表
xDM-F提供以下索引类型，全面适配不同的工业数据特征：
| 索引类型 | 数据特征    | 典型应用场景                                                                                                      | 说明                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|:---|
| 文本   | 字符串     | 设备名称、故障描述、工艺说明、物料规格、供应商名称                                                                                   | 适用于字符型内容的检索与匹配。                                                                                                                                                                                                                                                                                                       |
| 日期   | 日期/时间   | 投产日期、维修时间、质检日期、计划完工日期                                                                                       | 支持时间区间筛选与排序。                                                                                                                                                                                                                                                                                                          |
| 浮点型  | 带小数的数值  | 温度、压力、转速、尺寸公差、能耗指标、额定功率                                                                                     | 支持数值范围匹配与精度计算。                                                                                                                                                                                                                                                                                                        |
| 长整型  | 整数数值    | 设备ID、工单编号、批次号、计数器读数、年份                                                                                      | 适用于精确匹配与编号类检索。                                                                                                                                                                                                                                                                                                        |
| 联合索引 | 多字段组合   | 设备名称+安装位置、物料编码+供应商、批次号+工序                                                                                   | 通过运算符（AND/OR）组合多个子字段条件。                                                                                                                                                                                                                                                                                               |
| JSON | 结构化扩展属性 | 动态扩展字段、嵌套属性、配置项等灵活建模需求。如： 设备扩展属性、工艺参数包、质量特性值、分类属性（ClsAttrs） | - 用于将JSON字段数据按原结构同步至搜索引擎，提供分词搜索等能力。  - 分类属性存储的字段ClsAttrs为JSON字段，可使用该功能。   |
   
#### 分词方法参考表
分词方法定义系统如何对字段内容进行切词，直接影响检索的精准度与召回率：
| 分词方法   | 说明                               | 适用场景                                 |
|:---|:---|:---|
| 不分词    | 不对内容进行切分，整体作为一个词处理。              | 设备编码、物料编号、资产编码、工件图号等需精准定位的短文本标识。     |
| 普通分词   | 基于系统默认词典进行通用分词，平衡语义与效率。          | 设备名称、供应商名称、工艺路线名称、技术文档标题。            |
| 英文普通分词 | 英文按空格分词，中文按单字分词。                 | 含英文术语的工艺描述、进口设备型号（如SIEMENS S7-1500）。 |
| 最全分词   | 粒度介于"普通分词"和"单字分词"之间，兼顾语义完整性与召回率。 | 标准规范名称、技术术语（如GB/T 12345-2025）。       |
| 单字分词   | 拆分为单个汉字，最大化召回。                   | 短代码、缩写名称、单字简称。                       |
| 分隔符分词  | 按照指定符号切分，需配合"分词选项"使用。            | 多级编码（如A-B-C-001）、层级分类码。              |
   
 #### 分词选项说明
针对特定分词方法的附加处理策略：
| 适用分词方法                                                                                                                                                                                                                                                         | 可选策略   | 说明              | 示例                      |
|:---|:---|:---|:---|
| - 普通分词  - 单字分词   | 全拼     | 支持拼音全拼检索。       | 输入"shebei"，可匹配"设备"      |
| - 普通分词  - 单字分词   | 简拼     | 支持拼音首字母检索。      | 输入"sb"，可匹配"设备"          |
| - 普通分词  - 单字分词   | 全拼+简拼  | 同时支持全拼与简拼。      | 输入"sb"或"shebei"均可匹配"设备" |
| 英文普通分词                                                                                                                                                                                                                                                         | 词干化    | 去掉词缀，提取词干。      | running → run           |
| 英文普通分词                                                                                                                                                                                                                                                         | 词形还原   | 还原单词原形，处理复数/时态。 | apples → apple          |
| 分隔符分词                                                                                                                                                                                                                                                          | 空格分词   | 按空格切分。          | A B C → \["A","B","C"\] |
| 分隔符分词                                                                                                                                                                                                                                                          | 英文逗号分词 | 按英文逗号（,）切分。     | A,B,C → \["A","B","C"\] |
| 分隔符分词                                                                                                                                                                                                                                                          | 英文分号分词 | 按英文分号（;）切分。     | A;B;C → \["A","B","C"\] |
   
 #### 匹配方法支持矩阵
不同索引类型对匹配方法的支持存在差异，配置"匹配方法"时请参照如下信息：
| 索引类型 | 精确匹配 | 模糊匹配 | 范围匹配 | 短语匹配 |
|:---|:---|:---|:---|:---|
| 文本   | √    | √    | ×    | √    |
| 日期   | √    | ×    | √    | ×    |
| 浮点型  | √    | ×    | √    | ×    |
| 长整型  | √    | ×    | √    | ×    |
| 联合索引 | √    | √    | ×    | √    |
| JSON | √    | √    | √    | √    |
   
**配置建议**：
- 文本索引不支持范围匹配。如需按字符串范围筛选（如编码区间001-010），建议改用长整型存储，或使用多个过滤条件组合。
- 日期、浮点型、长整型不支持模糊匹配和短语匹配，因为这些类型基于数值/时间序检索，不涉及文本相似性计算。
- 联合索引不支持范围匹配。如需对联合索引中的某个字段进行范围查询，建议在联合索引之外，单独为该字段配置一个专用的范围索引。
 
#### 下一步操作
完成索引规则的配置后，您需要进行以下配置以启用检索功能：
1. 关联实体属性：将索引映射到具体的数据模型实体属性。具体操作请参见[为搜索服务定义配置服务实体](https://support.huaweicloud.com/usermanual-idme/idme_clientog_0157.html)。
2. 发布与同步：发布服务并初始化历史数据索引。具体操作请参见[发布搜索服务定义](https://support.huaweicloud.com/usermanual-idme/idme_clientog_0141.html)。
 
