public async Task <JsonResponse> MatchAsync(float[] feat)
        {
            if (feat.Length != ServiceOption.FeatureLength)
            {
                return(JsonResponse.ArgExceedLimit());
            }

            var bSearch = await Task.FromResult(Search(feat, out var searchResult));

            if (!bSearch)
            {
                return(JsonResponse.MatchError());
            }

            var dis        = searchResult.Select(item => item.Dis);
            var faceInfos  = searchResult.Select(item => m_faceInfo.Get(item.Index));
            var ids        = faceInfos.Select(item => item.Id);
            var imagePaths = faceInfos
                             .Select(item => item.ImagePath)
                             .Select(imagePath => $"http://{ServiceOption.PublicIP}/api/FaceRecognition/getImageFile/{Path.GetFileName(imagePath)}");

            return(new JsonResponse
            {
                Code = 0,
                Msg = "Success",
                Data = new
                {
                    Ids = ids.ToArray(),
                    Dis = dis.ToArray(),
                    ImageUrls = imagePaths.ToArray()
                }
            });
        }