Beispiel #1
0
 private static extern int Search(IntPtr handle,
                                  float[] info,
                                  CsCaissDefine.CAISS_SEARCH_TYPE searchType,
                                  uint topK,
                                  int filterEditDistance = 0,
                                  CsCaissDefine.CAISS_SEARCH_CALLBACK searchCBFunc = null,
                                  IntPtr cbParams = new IntPtr()
                                  );
Beispiel #2
0
        public static string SyncSearch(IntPtr handle,
                                        float[] info,
                                        CsCaissDefine.CAISS_SEARCH_TYPE searchType,
                                        uint topK,
                                        int filterEditDistance,
                                        ref int status)
        {
            if (searchType != CsCaissDefine.CAISS_SEARCH_TYPE.CAISS_LOOP_QUERY &&
                searchType != CsCaissDefine.CAISS_SEARCH_TYPE.CAISS_SEARCH_QUERY)
            {
                status = CsCaissDefine.CAISS_RET_PARAM;
                return("");
            }

            var ret = Search(handle, info, searchType, topK, filterEditDistance);

            if (CsCaissDefine.CAISS_RET_OK != ret)
            {
                status = ret;
                return("");
            }

            return(getResultString(handle, ref status));
        }