利用 MySQL 5.6+ InnoDB 原生 Fulltext 索引,結合 C 語言高效處理、WCF 提供 RESTful API、jQuery UI 前端自動完成,構建一個輕量級搜尋引擎原型。
CREATE TABLE `document` ( `DocumentID` INT(11) NOT NULL AUTO_INCREMENT, `Title` VARCHAR(255) DEFAULT NULL, `Text` TEXT, PRIMARY KEY (`DocumentID`), FULLTEXT KEY `ft` (`Title`,`Text`), FULLTEXT KEY `ftTitle` (`Title`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
兩個全文索引分別用於內容搜尋 (`ft`) 與標題自動完成 (`ftTitle`)。
__declspec(dllexport) TCHAR* __cdecl GetDocuments(TCHAR* search, int format, int forAutocomplete);
[ServiceContract] public interface IVisionService {
[OperationContract, WebInvoke(Method="POST", BodyStyle=WebMessageBodyStyle.WrappedRequest, RequestFormat=WebMessageFormat.Json, ResponseFormat=WebMessageFormat.Json)]
string GetDocuments(string search, int format, int forautocomplete);
}
public class VisionService : IVisionService {
[DllImport("VisionDAL.dll", CharSet=CharSet.Unicode)] static extern string GetDocuments(string search, int format, int forAutocomplete);
public string GetDocuments(string search, int format, int forautocomplete) => GetDocuments(search, format, forautocomplete);
}
`webHttpBinding` + `webHttp` 行為啟用 REST/JSON 端點。
總結: 此架構展示了 MySQL Fulltext + Native C + WCF + jQuery 的跨語言整合路徑,適合中小型全文檢索場景。