Help me optimising/building a pipeline for best performance

Hello, Guys, I am a beginner and I am trying to build an autocomplete feature.
My Document looks like this.

    {
        "_id": "artificialtree",
        "search_term": "artificial tree",
        "normalized_term": "aaceefiiilrrtt",
        "v1_score": 0.544350665956381
    }

And my aggregation pipeline is.

 [
        {'$search': {'index': 'default',
        'autocomplete': {'query': 'Book', 'path': 'search_term', 'tokenOrder': 
        'sequential','fuzzy':{'maxEdits':2}}}},
        
        {"$group": {
        "_id": '$normalized_term',
        "data": {
          "$max": {
            "score": "$v1_score",
            "search_term": "$search_term"
          }
        }
      }},
        {'$sort':{'data.score': -1}},
        {'$limit':10},
        {'$project': {'_id':0, 'data.search_term' : 1}}
    ]

Here I am trying to achieve is that all documents that are returned by the search stage I want to get the top ten documents where if the "normalized_term" of two documents matches then I want the document with maximum "v1_score"
What are the improvements I can do I my Pipeline to increase the execution time ?
Here are the executionStats.

{
  "explainVersion": "1",
  "stages": [
    {
      "$_internalSearchMongotRemote": {
        "mongotQuery": {
          "index": "default",
          "autocomplete": {
            "query": "Book",
            "path": "search_term",
            "tokenOrder": "sequential",
            "fuzzy": {
              "maxEdits": 2
            }
          }
        },
        "explain": {
          "type": "BooleanQuery",
          "args": {
            "must": [
              {
                "type": "MultiTermQueryConstantScoreWrapper",
                "args": {
                  "queries": [
                    {
                      "type": "DefaultQuery",
                      "args": {
                        "queryType": "AutomatonQuery"
                      },
                      "stats": {
                        "context": {
                          "nanosElapsed": 0
                        },
                        "match": {
                          "nanosElapsed": 0
                        },
                        "score": {
                          "nanosElapsed": 0
                        }
                      }
                    }
                  ]
                },
                "stats": {
                  "context": {
                    "nanosElapsed": 5648467,
                    "invocationCounts": {
                      "createWeight": 1,
                      "createScorer": 24
                    }
                  },
                  "match": {
                    "nanosElapsed": 42304,
                    "invocationCounts": {
                      "nextDoc": 1009
                    }
                  },
                  "score": {
                    "nanosElapsed": 38731,
                    "invocationCounts": {
                      "setMinCompetitiveScore": 8,
                      "score": 1001
                    }
                  }
                }
              }
            ],
            "mustNot": [],
            "should": [
              {
                "type": "TermQuery",
                "args": {
                  "path": "search_term",
                  "value": "book"
                },
                "stats": {
                  "context": {
                    "nanosElapsed": 13145,
                    "invocationCounts": {
                      "createWeight": 1,
                      "createScorer": 8
                    }
                  },
                  "match": {
                    "nanosElapsed": 0
                  },
                  "score": {
                    "nanosElapsed": 0
                  }
                }
              }
            ],
            "filter": [],
            "minimumShouldMatch": 0
          },
          "stats": {
            "context": {
              "nanosElapsed": 5702139,
              "invocationCounts": {
                "createWeight": 1,
                "createScorer": 16
              }
            },
            "match": {
              "nanosElapsed": 115013,
              "invocationCounts": {
                "nextDoc": 1009
              }
            },
            "score": {
              "nanosElapsed": 112075,
              "invocationCounts": {
                "setMinCompetitiveScore": 8,
                "score": 1001
              }
            }
          }
        }
      },
      "nReturned": 0,
      "executionTimeMillisEstimate": 9
    },
    {
      "$_internalSearchIdLookup": {},
      "nReturned": 0,
      "executionTimeMillisEstimate": 9
    },
    {
      "$group": {
        "_id": "$normalized_term",
        "data": {
          "$max": {
            "score": "$v1_score",
            "search_term": "$search_term"
          }
        }
      },
      "maxAccumulatorMemoryUsageBytes": {
        "data": 0
      },
      "totalOutputDataSizeBytes": 0,
      "usedDisk": false,
      "nReturned": 0,
      "executionTimeMillisEstimate": 9
    },
    {
      "$sort": {
        "sortKey": {
          "data.score": -1
        },
        "limit": 10
      },
      "totalDataSizeSortedBytesEstimate": 0,
      "usedDisk": false,
      "nReturned": 0,
      "executionTimeMillisEstimate": 9
    },
    {
      "$project": {
        "data": {
          "search_term": true
        },
        "_id": false
      },
      "nReturned": 0,
      "executionTimeMillisEstimate": 9
    }
  ],
  "serverInfo": {
    "host": "cluster0-shard-00-01.gpz1o.mongodb.net",
    "port": 27017,
    "version": "5.0.9",
    "gitVersion": "6f7dae919422dcd7f4892c10ff20cdc721ad00e6"
  },
  "serverParameters": {
    "internalQueryFacetBufferSizeBytes": 104857600,
    "internalQueryFacetMaxOutputDocSizeBytes": 104857600,
    "internalLookupStageIntermediateDocumentMaxSizeBytes": 16793600,
    "internalDocumentSourceGroupMaxMemoryBytes": 104857600,
    "internalQueryMaxBlockingSortMemoryUsageBytes": 33554432,
    "internalQueryProhibitBlockingMergeOnMongoS": 0,
    "internalQueryMaxAddToSetBytes": 104857600,
    "internalDocumentSourceSetWindowFieldsMaxMemoryBytes": 104857600
  },
  "command": {
    "aggregate": "product",
    "pipeline": [
      {
        "$search": {
          "index": "default",
          "autocomplete": {
            "query": "Book",
            "path": "search_term",
            "tokenOrder": "sequential",
            "fuzzy": {
              "maxEdits": 2
            }
          }
        }
      },
      {
        "$group": {
          "_id": "$normalized_term",
          "data": {
            "$max": {
              "score": "$v1_score",
              "search_term": "$search_term"
            }
          }
        }
      },
      {
        "$sort": {
          "data.score": -1
        }
      },
      {
        "$limit": 10
      },
      {
        "$project": {
          "_id": 0,
          "data.search_term": 1
        }
      }
    ],
    "cursor": {},
    "$db": "pro_data"
  },
  "ok": 1,
  "$clusterTime": {
    "clusterTime": {
      "$timestamp": {
        "t": 1658657083,
        "i": 11
      }
    },
    "signature": {
      "hash": {
        "$binary": {
          "base64": "HpXa/pD3Fyy2UgOluvUFCKsBhpI=",
          "subType": "00"
        }
      },
      "keyId": 7072407648573850000
    }
  },
  "operationTime": {
    "$timestamp": {
      "t": 1658657083,
      "i": 10
    }
  }
}