How to optimize like query on embed array

my query is :{ “EQUIPMENT.PARAMS.NAME”: /动力方式/ } and i had built a regular index on EQUIPMENT.PARAMS.NAME

the IXSCAN stage returned 744044 documents but the FETCH stage only returned 24265 documents ,the IXSCAN costed about 6s and the FETCH costed about 40s which exceeded my expect . it seemed that the IXSCAN stage did not filter enough documents

but when i queried { “EQUIPMENT.PARAMS.NAME”: /^动力方式/ } the IXSCAN stage only returned 24256 documents and fetch stage returned 24256 documents too , and the cost of
IXSCAN was only 68ms and the FETCH cost was 194ms

why the two similar ‘like’ queries performed totally different and how could i optimize the query { “EQUIPMENT.PARAMS.NAME”: /动力方式/ } ?

thanks in advance

The data structure is like this:

{
  "_id": {
    "$oid": "6858c4991bae3f6d12a7121f"
  },
  "ACCEPT_CODE": "SL2021110355-FD",
  "APPLICATION_COMPANY": "化纤有限公司",
  "APPROVAL_DATE": "2021-11-22",
  "APPROVER": "皓",
  "AUDITOR": "黎",
  "AUDIT_DATE": "2021-11-21",
  "BUSINESS_TYPE": "机电类",
  "CERTIFICATE_URL": null,
  "CHECKER": "魏",
  "CHECK_DATE": "2021-11-21",
  "DEPARTMENT": "安全事业部",
  "END_DATE": "2021-11-02",
  "ENGLISH_CERTIFICATE_URL": null,
  "ENGLISH_ORIGINAL_RECORD_URL": null,
  "ENGLISH_REPORT_URL": null,
  "ENTRY_DATE": "2021-11-20",
  "EQUIPMENT": {
    "EQUIPMENT_CODE": "5110103412020G9514",
    "EQUIPMENT_ID": "100053846",
    "FACTORY_CODE": "020402F7186",
    "FIRST_CATALOG_CODE": "5000",
    "FIRST_CATALOG_NAME": "专用",
    "INTERNAL_CODE": "未编",
    "MAINTENANCE_COMPANY": null,
    "MANUFACTURE_COMPANY": "有限公司",
    "MODEL": " CPC型4.0t",
    "NAME": "叉车",
    "PARAMS": [
      {
        "CODE": "P50001002",
        "NAME": "动力方式",
        "SORTING": 100,
        "VALUE": "内燃机"
      },
      {
        "CODE": "S50001008",
        "NAME": "改造日期",
        "SORTING": 80,
        "VALUE": "—"
      },
      {
        "CODE": "S50001002",
        "NAME": "防爆使用场所",
        "SORTING": 10,
        "VALUE": "-"
      },
      {
        "CODE": "S50001003",
        "NAME": "温度组别",
        "SORTING": 20,
        "VALUE": "-"
      },
      {
        "CODE": "S50001004",
        "NAME": "空载最大起升高度",
        "SORTING": 30,
        "VALUE": "4000"
      },
      {
        "CODE": "S50001005",
        "NAME": "传动方式",
        "SORTING": 40,
        "VALUE": "机械传动"
      },
      {
        "CODE": "S50001001",
        "NAME": "改造许可证编号",
        "SORTING": 0,
        "VALUE": "-"
      },
      {
        "CODE": "S500003",
        "NAME": "使用区域",
        "SORTING": 90,
        "VALUE": "仅限于工厂厂区"
      },
      {
        "CODE": "S50001007",
        "NAME": "改造单位名称",
        "SORTING": 70,
        "VALUE": "-"
      },
      {
        "CODE": "P50002007",
        "NAME": "车牌编号",
        "SORTING": 5,
        "VALUE": "场内浙F-83865"
      },
      {
        "CODE": "S5000036",
        "NAME": "驱动方式",
        "SORTING": 0,
        "VALUE": "前驱"
      },
      {
        "CODE": "P50001001",
        "NAME": "燃料类型",
        "SORTING": 50,
        "VALUE": "5000100102"
      },
      {
        "CODE": "P50002004",
        "NAME": "额定载重量(kg\\人)",
        "SORTING": 20,
        "VALUE": "4000"
      },
      {
        "CODE": "P50002002",
        "NAME": "车架编号",
        "SORTING": 60,
        "VALUE": "020402F7186"
      },
      {
        "CODE": "P50002005",
        "NAME": "空车重量(kg)",
        "SORTING": 40,
        "VALUE": "6300"
      },
      {
        "CODE": "P50002003",
        "NAME": "发动机(电机)编号",
        "SORTING": 70,
        "VALUE": "4C6-85U32☆Q200473081G☆"
      },
      {
        "CODE": "S500032",
        "NAME": "整车防爆标志",
        "SORTING": 32,
        "VALUE": "-"
      },
      {
        "CODE": "S500031",
        "NAME": "防爆车辆级别",
        "SORTING": 0,
        "VALUE": "-"
      },
      {
        "CODE": "P50002008",
        "NAME": "运行速度(最高时速)(km/h)",
        "SORTING": 80,
        "VALUE": "18.4"
      },
      {
        "CODE": "P50002001",
        "NAME": "厂牌型号",
        "SORTING": 200,
        "VALUE": "CPC型4.0t"
      },
      {
        "CODE": "S500036",
        "NAME": "是否防爆",
        "SORTING": 0,
        "VALUE": "否"
      }
    ],
    "SECOND_CATALOG_CODE": "5100",
    "SECOND_CATALOG_NAME": "工业车辆",
    "THIRD_CATALOG_CODE": "5110",
    "THIRD_CATALOG_NAME": "[5110]叉车",
    "USING_COMPANY": "化纤有限公司",
    "USING_COMPANY_CODE": "91330400MA2B85HP0Y"
  },
  "KEYBOARDER": "马",
  "MAIN_SURVEYOR": "魏",
  "ORIGINAL_RECORD_URL": "/upload/2021/11/02/5000/SL2021110355-FD/4657144/CJD20214770-4657144-JL-1.pdf",
  "PARTICIPANT": "何",
  "REPORT_CODE": "CJD20214770",
  "REPORT_ID": "O4657144",
  "REPORT_URL": "/upload/2021/11/02/5000/SL2021110355-FD/4657144/CJD20214770-4657144-BG-1-SEAL0.pdf",
  "SEGMENT_REPORTS": [
    {
      "AUDITOR": "陈",
      "AUDIT_DATE": "2021-11-21",
      "CHECKER": "魏",
      "CHECK_DATE": "2021-11-21",
      "ENTRY_DATE": "2021-11-20",
      "KEYBOARDER": "马",
      "NAME": "基本信息",
      "REPORT_ID": "O4657144",
      "SEGMENT_REPORT_ID": "O4657145",
      "SORTING": 1000,
      "SURVEYOR": "魏"
    },
    {
      "AUDITOR": "陈",
      "AUDIT_DATE": "2021-11-21",
      "CHECKER": "魏",
      "CHECK_DATE": "2021-11-21",
      "ENTRY_DATE": "2021-11-20",
      "KEYBOARDER": "马",
      "NAME": "内容",
      "REPORT_ID": "O4657144",
      "SEGMENT_REPORT_ID": "O4657146",
      "SORTING": 2000,
      "SURVEYOR": "魏"
    },
    {
      "AUDITOR": "陈",
      "AUDIT_DATE": "2021-11-21",
      "CHECKER": "魏",
      "CHECK_DATE": "2021-11-21",
      "ENTRY_DATE": "2021-11-20",
      "KEYBOARDER": "马",
      "NAME": "建议",
      "REPORT_ID": "O4657144",
      "SEGMENT_REPORT_ID": "O4657147",
      "SORTING": 99997,
      "SURVEYOR": "魏"
    }
  ],
  "START_DATE": "2021-11-02",
  "TASK_CODE": "SL2021110355-FD-001",
  "TEMPLATE": "报告"
}

the executionStats of the query { “EQUIPMENT.PARAMS.NAME”: /动力方式/ } are:

{
  "explainVersion": "1",
  "queryPlanner": {
    "namespace": "zjtj.zjtj_report_info",
    "indexFilterSet": false,
    "parsedQuery": {
      "EQUIPMENT.PARAMS.NAME": {
        "$regex": "动力方式"
      }
    },
    "queryHash": "30109082",
    "planCacheKey": "5679EDF7",
    "optimizationTimeMillis": 9394,
    "maxIndexedOrSolutionsReached": false,
    "maxIndexedAndSolutionsReached": false,
    "maxScansToExplodeReached": false,
    "winningPlan": {
      "stage": "FETCH",
      "filter": {
        "EQUIPMENT.PARAMS.NAME": {
          "$regex": "动力方式"
        }
      },
      "inputStage": {
        "stage": "IXSCAN",
        "keyPattern": {
          "EQUIPMENT.PARAMS.NAME": 1
        },
        "indexName": "EQUIPMENT.PARAMS.NAME_1",
        "isMultiKey": true,
        "multiKeyPaths": {
          "EQUIPMENT.PARAMS.NAME": [
            "EQUIPMENT.PARAMS"
          ]
        },
        "isUnique": false,
        "isSparse": false,
        "isPartial": false,
        "indexVersion": 2,
        "direction": "forward",
        "indexBounds": {
          "EQUIPMENT.PARAMS.NAME": [
            "[\"\", {})",
            "[/动力方式/, /动力方式/]"
          ]
        }
      }
    },
    "rejectedPlans": [
      {
        "stage": "FETCH",
        "filter": {
          "EQUIPMENT.PARAMS.NAME": {
            "$regex": "动力方式"
          }
        },
        "inputStage": {
          "stage": "IXSCAN",
          "keyPattern": {
            "EQUIPMENT.PARAMS.NAME": 1,
            "EQUIPMENT.PARAMS.VALUE": 1
          },
          "indexName": "EQUIPMENT.PARAMS.NAME_1_EQUIPMENT.PARAMS.VALUE_1",
          "isMultiKey": true,
          "multiKeyPaths": {
            "EQUIPMENT.PARAMS.NAME": [
              "EQUIPMENT.PARAMS"
            ],
            "EQUIPMENT.PARAMS.VALUE": [
              "EQUIPMENT.PARAMS"
            ]
          },
          "isUnique": false,
          "isSparse": false,
          "isPartial": false,
          "indexVersion": 2,
          "direction": "forward",
          "indexBounds": {
            "EQUIPMENT.PARAMS.NAME": [
              "[\"\", {})",
              "[/动力方式/, /动力方式/]"
            ],
            "EQUIPMENT.PARAMS.VALUE": [
              "[MinKey, MaxKey]"
            ]
          }
        }
      }
    ]
  },
  "executionStats": {
    "executionSuccess": true,
    "nReturned": 24265,
    "executionTimeMillis": 108413,
    "totalKeysExamined": 35441052,
    "totalDocsExamined": 744044,
    "executionStages": {
      "stage": "FETCH",
      "filter": {
        "EQUIPMENT.PARAMS.NAME": {
          "$regex": "动力方式"
        }
      },
      "nReturned": 24265,
      "executionTimeMillisEstimate": 53299,
      "works": 35441053,
      "advanced": 24265,
      "needTime": 35416787,
      "needYield": 0,
      "saveState": 37571,
      "restoreState": 37571,
      "isEOF": 1,
      "docsExamined": 744044,
      "alreadyHasObj": 0,
      "inputStage": {
        "stage": "IXSCAN",
        "nReturned": 744044,
        "executionTimeMillisEstimate": 9843,
        "works": 35441053,
        "advanced": 744044,
        "needTime": 34697008,
        "needYield": 0,
        "saveState": 37571,
        "restoreState": 37571,
        "isEOF": 1,
        "keyPattern": {
          "EQUIPMENT.PARAMS.NAME": 1
        },
        "indexName": "EQUIPMENT.PARAMS.NAME_1",
        "isMultiKey": true,
        "multiKeyPaths": {
          "EQUIPMENT.PARAMS.NAME": [
            "EQUIPMENT.PARAMS"
          ]
        },
        "isUnique": false,
        "isSparse": false,
        "isPartial": false,
        "indexVersion": 2,
        "direction": "forward",
        "indexBounds": {
          "EQUIPMENT.PARAMS.NAME": [
            "[\"\", {})",
            "[/动力方式/, /动力方式/]"
          ]
        },
        "keysExamined": 35441052,
        "seeks": 1,
        "dupsTested": 35441052,
        "dupsDropped": 34697008
      }
    }
  },
  "command": {
    "find": "zjtj_report_info",
    "filter": { "EQUIPMENT.PARAMS.NAME": {} },
    "skip": 0,
    "limit": 0,
    "maxTimeMS": 60000,
    "$db": "zjtj"
  },
  "serverInfo": {
    "host": "mongodb",
    "port": 27017,
    "version": "7.0.21",
    "gitVersion": "a47b62aff2bae1914085c3ef1d90fc099acf000c"
  },
  "serverParameters": {
    "internalQueryFacetBufferSizeBytes": 104857600,
    "internalQueryFacetMaxOutputDocSizeBytes": 104857600,
    "internalLookupStageIntermediateDocumentMaxSizeBytes": 104857600,
    "internalDocumentSourceGroupMaxMemoryBytes": 104857600,
    "internalQueryMaxBlockingSortMemoryUsageBytes": 104857600,
    "internalQueryProhibitBlockingMergeOnMongoS": 0,
    "internalQueryMaxAddToSetBytes": 104857600,
    "internalDocumentSourceSetWindowFieldsMaxMemoryBytes": 104857600,
    "internalQueryFrameworkControl": "forceClassicEngine"
  },
  "ok": 1
}

the executeStats of query { “EQUIPMENT.PARAMS.NAME”: /^动力方式/ } are:

{
  "explainVersion": "1",
  "queryPlanner": {
    "namespace": "zjtj.zjtj_report_info",
    "indexFilterSet": false,
    "parsedQuery": {
      "EQUIPMENT.PARAMS.NAME": {
        "$regex": "^动力方式"
      }
    },
    "queryHash": "30109082",
    "planCacheKey": "5679EDF7",
    "optimizationTimeMillis": 8,
    "maxIndexedOrSolutionsReached": false,
    "maxIndexedAndSolutionsReached": false,
    "maxScansToExplodeReached": false,
    "winningPlan": {
      "stage": "FETCH",
      "inputStage": {
        "stage": "IXSCAN",
        "keyPattern": {
          "EQUIPMENT.PARAMS.NAME": 1
        },
        "indexName": "EQUIPMENT.PARAMS.NAME_1",
        "isMultiKey": true,
        "multiKeyPaths": {
          "EQUIPMENT.PARAMS.NAME": [
            "EQUIPMENT.PARAMS"
          ]
        },
        "isUnique": false,
        "isSparse": false,
        "isPartial": false,
        "indexVersion": 2,
        "direction": "forward",
        "indexBounds": {
          "EQUIPMENT.PARAMS.NAME": [
            "[\"动力方式\", \"动力方弐\")",
            "[/^动力方式/, /^动力方式/]"
          ]
        }
      }
    },
    "rejectedPlans": [
      {
        "stage": "FETCH",
        "inputStage": {
          "stage": "IXSCAN",
          "keyPattern": {
            "EQUIPMENT.PARAMS.NAME": 1,
            "EQUIPMENT.PARAMS.VALUE": 1
          },
          "indexName": "EQUIPMENT.PARAMS.NAME_1_EQUIPMENT.PARAMS.VALUE_1",
          "isMultiKey": true,
          "multiKeyPaths": {
            "EQUIPMENT.PARAMS.NAME": [
              "EQUIPMENT.PARAMS"
            ],
            "EQUIPMENT.PARAMS.VALUE": [
              "EQUIPMENT.PARAMS"
            ]
          },
          "isUnique": false,
          "isSparse": false,
          "isPartial": false,
          "indexVersion": 2,
          "direction": "forward",
          "indexBounds": {
            "EQUIPMENT.PARAMS.NAME": [
              "[\"动力方式\", \"动力方弐\")",
              "[/^动力方式/, /^动力方式/]"
            ],
            "EQUIPMENT.PARAMS.VALUE": [
              "[MinKey, MaxKey]"
            ]
          }
        }
      }
    ]
  },
  "executionStats": {
    "executionSuccess": true,
    "nReturned": 24265,
    "executionTimeMillis": 414,
    "totalKeysExamined": 24266,
    "totalDocsExamined": 24265,
    "executionStages": {
      "stage": "FETCH",
      "nReturned": 24265,
      "executionTimeMillisEstimate": 322,
      "works": 24267,
      "advanced": 24265,
      "needTime": 1,
      "needYield": 0,
      "saveState": 28,
      "restoreState": 28,
      "isEOF": 1,
      "docsExamined": 24265,
      "alreadyHasObj": 0,
      "inputStage": {
        "stage": "IXSCAN",
        "nReturned": 24265,
        "executionTimeMillisEstimate": 43,
        "works": 24267,
        "advanced": 24265,
        "needTime": 1,
        "needYield": 0,
        "saveState": 28,
        "restoreState": 28,
        "isEOF": 1,
        "keyPattern": {
          "EQUIPMENT.PARAMS.NAME": 1
        },
        "indexName": "EQUIPMENT.PARAMS.NAME_1",
        "isMultiKey": true,
        "multiKeyPaths": {
          "EQUIPMENT.PARAMS.NAME": [
            "EQUIPMENT.PARAMS"
          ]
        },
        "isUnique": false,
        "isSparse": false,
        "isPartial": false,
        "indexVersion": 2,
        "direction": "forward",
        "indexBounds": {
          "EQUIPMENT.PARAMS.NAME": [
            "[\"动力方式\", \"动力方弐\")",
            "[/^动力方式/, /^动力方式/]"
          ]
        },
        "keysExamined": 24266,
        "seeks": 2,
        "dupsTested": 24265,
        "dupsDropped": 0
      }
    }
  },
  "command": {
    "find": "zjtj_report_info",
    "filter": { "EQUIPMENT.PARAMS.NAME": {} },
    "skip": 0,
    "limit": 0,
    "maxTimeMS": 60000,
    "$db": "zjtj"
  },
  "serverInfo": {
    "host": "mongodb",
    "port": 27017,
    "version": "7.0.21",
    "gitVersion": "a47b62aff2bae1914085c3ef1d90fc099acf000c"
  },
  "serverParameters": {
    "internalQueryFacetBufferSizeBytes": 104857600,
    "internalQueryFacetMaxOutputDocSizeBytes": 104857600,
    "internalLookupStageIntermediateDocumentMaxSizeBytes": 104857600,
    "internalDocumentSourceGroupMaxMemoryBytes": 104857600,
    "internalQueryMaxBlockingSortMemoryUsageBytes": 104857600,
    "internalQueryProhibitBlockingMergeOnMongoS": 0,
    "internalQueryMaxAddToSetBytes": 104857600,
    "internalDocumentSourceSetWindowFieldsMaxMemoryBytes": 104857600,
    "internalQueryFrameworkControl": "forceClassicEngine"
  },
  "ok": 1
}

*/动力方式/ 很慢,因为它是 LIKE '%动力方式%',需要全索引扫描。
/^动力方式/ 很快,因为它是 LIKE '动力方式%',能用索引范围扫描。

可以考虑全文索引来优化,但对中文支持不太友好