個人覺得完全用C語言去做一個搜索引擎,是能辦到,但是成本會很高。首先我們來看一個通用的搜索引擎需要哪些模塊。
一.網絡爬蟲
要用C語言去做一個爬蟲系統,成本會非常高,很多東西都需要自己實現。而爬蟲系統,個人覺得Python的Scrapy框架是一個很好的選擇,從網頁爬取到數據存入數據庫有一條完整的鏈路。爬蟲系統對性能的要求不高,Python完全可以勝任。
二.倒排索引
倒排索引主要包括
三.檢索模型
如果只需要做一個簡單的檢索系統,直接BM25算法就可以了。如果系統比較復雜,考慮到線上效果,那么需要結合機器學習模型或深度學習模型,考慮到檢索相關性,有很多復雜的設計。不過在線部分完全可以通過C語言實現。
一般來說,做一個搜索引擎需要根據不同的模塊情況而選擇不同的語言實現,充分發揮各種語言的優勢即可。
下一篇戴爾筆記本保修幾年