private static int SearchDemo() { // 查询demo var handle = IntPtr.Zero; var ret = CsCaiss.CreateHandle(ref handle); if (CsCaissDefine.CAISS_RET_OK != ret) { return(ret); } ret = CsCaiss.Init(handle, CsCaissDefine.CAISS_MODE.CAISS_MODE_PROCESS, CsCaissDefine.CAISS_DISTANCE_TYPE.CAISS_DISTANCE_INNER, DIM, MODEL_PATH); if (CsCaissDefine.CAISS_RET_OK != ret) { return(ret); } int status = 0; string result = CsCaiss.SyncSearch(handle, QUERY_WORD, CsCaissDefine.CAISS_SEARCH_TYPE.CAISS_SEARCH_WORD, TOP_K, FILTER_EDIT_DISTANCE, ref status); //var result = CsCaiss.SyncExecuteSQL(handle, QUERY_SQL, ref status); // sql方式查询 if (CsCaissDefine.CAISS_RET_OK != status) { ret = status; return(ret); } Console.WriteLine(result); // 打印输出的结果信息 return(CsCaiss.DestroyHandle(handle)); }
private static int TrainDemo() { // 训练demo var handle = IntPtr.Zero; var ret = CsCaiss.CreateHandle(ref handle); if (CsCaissDefine.CAISS_RET_OK != ret) { return(ret); } ret = CsCaiss.Init(handle, CsCaissDefine.CAISS_MODE.CAISS_MODE_TRAIN, CsCaissDefine.CAISS_DISTANCE_TYPE.CAISS_DISTANCE_INNER, DIM, MODEL_PATH); if (CsCaissDefine.CAISS_RET_OK != ret) { return(ret); } ret = CsCaiss.Train(handle, DATA_PATH, MAX_DATA_SIZE, NORMALIZE, MAX_INDEX_SIZE, PRECISION, FAST_RANK, REAL_RANK, STEP, MAX_EPOCH, SHOW_SPAN); if (CsCaissDefine.CAISS_RET_OK != ret) { return(ret); } return(CsCaiss.DestroyHandle(handle)); }