国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Boost搜索引擎項(xiàng)目】Day1 項(xiàng)目介紹+去標(biāo)簽和數(shù)據(jù)清洗框架搭建

這篇具有很好參考價(jià)值的文章主要介紹了【Boost搜索引擎項(xiàng)目】Day1 項(xiàng)目介紹+去標(biāo)簽和數(shù)據(jù)清洗框架搭建。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

??歡迎來到C++項(xiàng)目專欄
?????♀?作者介紹:前PLA隊(duì)員 目前是一名普通本科大三的軟件工程專業(yè)學(xué)生
??IP坐標(biāo):湖北武漢
?? 目前技術(shù)棧:C/C++、Linux系統(tǒng)編程、計(jì)算機(jī)網(wǎng)絡(luò)、數(shù)據(jù)結(jié)構(gòu)、Mysql、Python
?? 博客介紹:通過分享學(xué)習(xí)過程,加深知識點(diǎn)的掌握,也希望通過平臺能認(rèn)識更多同僚,如果覺得文章有幫助,請您動動發(fā)財(cái)手點(diǎn)點(diǎn)贊,本人水平有限,有不足之處歡迎大家扶正~
?? 最后送大家一句話共勉:知不足而奮進(jìn),望遠(yuǎn)山而前行。
————————————————

1.項(xiàng)目介紹

對比常用搜索引擎,實(shí)現(xiàn)一個(gè)簡易版的站內(nèi)搜索引擎。
基于boost庫實(shí)現(xiàn),boost庫官網(wǎng)上是沒有站內(nèi)搜索引擎的,我們自己實(shí)現(xiàn)一個(gè),部署在自己的云服務(wù),客戶端可以通過瀏覽器訪問服務(wù)器地址,實(shí)現(xiàn)搜索引擎功能的使用。

2.搜索引擎宏觀介紹

【Boost搜索引擎項(xiàng)目】Day1 項(xiàng)目介紹+去標(biāo)簽和數(shù)據(jù)清洗框架搭建,C+項(xiàng)目_Boost搜索引擎,搜索引擎,c++,開發(fā)語言,面試
常用搜索引擎,如百度 搜狗等,搜索引擎框架可簡易理解如上圖,我們實(shí)現(xiàn)的站內(nèi)搜索引擎對比就是把相關(guān)資料提前下載到云服務(wù)器本地,當(dāng)用戶使用搜索功能時(shí),在服務(wù)器本地進(jìn)行檢索反饋。

3.相關(guān)技術(shù)棧和項(xiàng)目環(huán)境

  • 技術(shù)棧: C/C++ C++11, STL, 準(zhǔn)標(biāo)準(zhǔn)庫Boost,Jsoncpp,cppjieba,cpp-httplib , 選學(xué): html5,css,js、Query、Ajax
  • 項(xiàng)目環(huán)境: Centos 7云服務(wù)器,vim/gcc(g++)/Makefile , vs2019 or vs code

4.正排索引VS倒排索引-搜索引擎具體原理

5.編寫數(shù)據(jù)去標(biāo)簽與數(shù)據(jù)清洗的模塊

先去boost官網(wǎng)將文件下載下來,使用rz命令將文件拖拽到Linux服務(wù)器
【Boost搜索引擎項(xiàng)目】Day1 項(xiàng)目介紹+去標(biāo)簽和數(shù)據(jù)清洗框架搭建,C+項(xiàng)目_Boost搜索引擎,搜索引擎,c++,開發(fā)語言,面試
解壓命令:
【Boost搜索引擎項(xiàng)目】Day1 項(xiàng)目介紹+去標(biāo)簽和數(shù)據(jù)清洗框架搭建,C+項(xiàng)目_Boost搜索引擎,搜索引擎,c++,開發(fā)語言,面試
創(chuàng)建好數(shù)據(jù)文件夾用來區(qū)分處理好的數(shù)據(jù),方便后期讀取使用
【Boost搜索引擎項(xiàng)目】Day1 項(xiàng)目介紹+去標(biāo)簽和數(shù)據(jù)清洗框架搭建,C+項(xiàng)目_Boost搜索引擎,搜索引擎,c++,開發(fā)語言,面試文章來源地址http://www.zghlxwxcb.cn/news/detail-842783.html

  • 編寫parser.cc模塊
//代碼的基本結(jié)構(gòu):
#include <iostream>
#include <string>
#include <vector>
//是一個(gè)目錄,下面放的是所有的html網(wǎng)頁
const std::string src_path = "data/input/";
const std::string output = "data/raw_html/raw.txt";
typedef struct DocInfo{
  std::string title;  //文檔的標(biāo)題
  std::string content; //文檔內(nèi)容
  std::string url;   //該文檔在官網(wǎng)中的url
}DocInfo_t;
//const &: 輸入
//*: 輸出
//&:輸入輸出
bool EnumFile(const std::string &src_path, std::vector<std::string> *files_list);
bool ParseHtml(const std::vector<std::string> &files_list, std::vector<DocInfo_t>
*results);
bool SaveHtml(const std::vector<DocInfo_t> &results, const std::string &output);
int main()
{
  std::vector<std::string> files_list;
  //第一步: 遞歸式的把每個(gè)html文件名帶路徑,保存到files_list中,方便后期進(jìn)行一個(gè)一個(gè)的文件進(jìn)行讀取
  if(!EnumFile(src_path, &files_list)){
    std::cerr << "enum file name error!" << std::endl;
    return 1;
 }
  //第二步: 按照files_list讀取每個(gè)文件的內(nèi)容,并進(jìn)行解析
  std::vector<DocInfo_t> results;
  if(!ParseHtml(files_list, &results)){
    std::cerr << "parse html error" << std::endl;
    return 2;
 }
  //第三步: 把解析完畢的各個(gè)文件內(nèi)容,寫入到output,按照\3作為每個(gè)文檔的分割符
  if(!SaveHtml(results, output)){
    std::cerr << "sava html error" << std::endl;
    return 3;
 }
  return 0;
}
bool EnumFile(const std::string &src_path, std::vector<std::string> *files_list)
{
  return true;
}
bool ParseHtml(const std::vector<std::string> &files_list, std::vector<DocInfo_t> *results)
{
  return true;
}
bool SaveHtml(const std::vector<DocInfo_t> &results, const std::string &output)
{
  return true;
}
  • 安裝boost開發(fā)庫
    $ sudo yum install -y boost-devel //是boost 開發(fā)庫

到了這里,關(guān)于【Boost搜索引擎項(xiàng)目】Day1 項(xiàng)目介紹+去標(biāo)簽和數(shù)據(jù)清洗框架搭建的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Boost搜索引擎項(xiàng)目

    Boost搜索引擎項(xiàng)目

    目錄 1.項(xiàng)目相關(guān)背景 2.搜索引擎的相關(guān)宏觀原理 3.搜索引擎技術(shù)棧和項(xiàng)目環(huán)境 4.正排索引 倒排索引--搜索引擎原理 5.編寫數(shù)據(jù)去標(biāo)簽與數(shù)據(jù)清洗的模塊 -- parser.hpp 去標(biāo)簽 編寫parser(將文件去標(biāo)簽) 編寫EnumFile函數(shù) 編寫ParseFile函數(shù) 解析三大部分: 編寫SaveFile函數(shù) 6.建立索引--編寫

    2024年02月01日
    瀏覽(21)
  • 【C++項(xiàng)目】boost搜索引擎

    【C++項(xiàng)目】boost搜索引擎

    boost官網(wǎng) Boost庫是為C++語言標(biāo)準(zhǔn)庫提供擴(kuò)展的一些C++程序庫的總稱。 Boost庫由Boost社區(qū)組織開發(fā)、維護(hù)。其目的是為C++程序員提供免費(fèi)、同行審查的、可移植的程序庫。Boost庫可以與C++標(biāo)準(zhǔn)庫完美共同工作,并且為其提供擴(kuò)展功能。Boost庫使用Boost License來授權(quán)使用,根據(jù)該協(xié)議

    2023年04月16日
    瀏覽(28)
  • 基于boost庫的搜索引擎項(xiàng)目

    基于boost庫的搜索引擎項(xiàng)目

    boost庫是指一些為C++標(biāo)準(zhǔn)庫提供擴(kuò)展的程序庫總稱,但是boost網(wǎng)站中并沒有為我們提供站內(nèi)搜索功能,因此我們要想找到某一個(gè)類的用法還要一個(gè)個(gè)去找,因此我們這次的目的就是實(shí)現(xiàn)一個(gè)搜索引擎功能,提高我們獲取知識的效率 比如百度,谷歌,360等,這些都是大型的搜索

    2024年03月14日
    瀏覽(29)
  • 基于boost準(zhǔn)標(biāo)準(zhǔn)庫的搜索引擎項(xiàng)目

    基于boost準(zhǔn)標(biāo)準(zhǔn)庫的搜索引擎項(xiàng)目

    這是一個(gè)基于Web的搜索服務(wù)架構(gòu) 客戶端-服務(wù)器模型 :采用了經(jīng)典的客戶端-服務(wù)器模型,用戶通過客戶端與服務(wù)器交互,有助于集中管理和分散計(jì)算。 簡單的用戶界面 :客戶端似乎很簡潔,用戶通過簡單的HTTP請求與服務(wù)端交互,易于用戶操作。 搜索引擎功能 :服務(wù)器端的

    2024年04月27日
    瀏覽(15)
  • [C++項(xiàng)目] Boost文檔 站內(nèi)搜索引擎(5): cpphttplib實(shí)現(xiàn)網(wǎng)絡(luò)服務(wù)、html頁面實(shí)現(xiàn)、服務(wù)器部署...

    [C++項(xiàng)目] Boost文檔 站內(nèi)搜索引擎(5): cpphttplib實(shí)現(xiàn)網(wǎng)絡(luò)服務(wù)、html頁面實(shí)現(xiàn)、服務(wù)器部署...

    在前四篇文章中, 我們實(shí)現(xiàn)了從文檔文件的清理 到 搜索的所有內(nèi)容: 項(xiàng)目背景: ??[C++項(xiàng)目] Boost文檔 站內(nèi)搜索引擎(1): 項(xiàng)目背景介紹、相關(guān)技術(shù)棧、相關(guān)概念介紹… 文檔解析、處理模塊 parser 的實(shí)現(xiàn): ??[C++項(xiàng)目] Boost文檔 站內(nèi)搜索引擎(2): 文檔文本解析模塊parser的實(shí)現(xiàn)、如何對

    2024年02月13日
    瀏覽(21)
  • [C++項(xiàng)目] Boost文檔 站內(nèi)搜索引擎(4): 搜索的相關(guān)接口的實(shí)現(xiàn)、線程安全的單例index接口、cppjieba分詞庫的使用、綜合調(diào)試...

    [C++項(xiàng)目] Boost文檔 站內(nèi)搜索引擎(4): 搜索的相關(guān)接口的實(shí)現(xiàn)、線程安全的單例index接口、cppjieba分詞庫的使用、綜合調(diào)試...

    有關(guān) Boost 文檔搜索引擎的項(xiàng)目的前三篇文章, 已經(jīng)分別介紹分析了: 項(xiàng)目背景: ??[C++項(xiàng)目] Boost文檔 站內(nèi)搜索引擎(1): 項(xiàng)目背景介紹、相關(guān)技術(shù)棧、相關(guān)概念介紹… 文檔解析、處理模塊 parser 的實(shí)現(xiàn): ??[C++項(xiàng)目] Boost文檔 站內(nèi)搜索引擎(2): 文檔文本解析模塊parser的實(shí)現(xiàn)、如何對

    2024年02月14日
    瀏覽(28)
  • [C++項(xiàng)目] Boost文檔 站內(nèi)搜索引擎(3): 建立文檔及其關(guān)鍵字的正排 倒排索引、jieba庫的安裝與使用...

    [C++項(xiàng)目] Boost文檔 站內(nèi)搜索引擎(3): 建立文檔及其關(guān)鍵字的正排 倒排索引、jieba庫的安裝與使用...

    之前的兩篇文章: 第一篇文章介紹了本項(xiàng)目的背景, 獲取了 Boost 庫文檔 ??[C++項(xiàng)目] Boost文檔 站內(nèi)搜索引擎(1): 項(xiàng)目背景介紹、相關(guān)技術(shù)棧、相關(guān)概念介紹… 第二篇文章 分析實(shí)現(xiàn)了 parser 模塊. 此模塊的作用是 對所有文檔 html 文件, 進(jìn)行清理并匯總 ??[C++項(xiàng)目] Boost文檔 站內(nèi)搜

    2024年02月07日
    瀏覽(91)
  • boost庫搜索引擎

    boost庫搜索引擎

    Gitee倉庫:boost庫搜索引擎 市面上有很多搜索引擎例如Google、百度、360等,這些都是特別大的項(xiàng)目。 對于個(gè)人學(xué)習(xí)我們可以寫一個(gè) 站內(nèi)搜索 ,這個(gè)搜索的內(nèi)容更加垂直,數(shù)據(jù)量更小,例如C++的文檔The C++ Resources Network Google搜索顯示內(nèi)容: 客戶端使用瀏覽器搜索向服務(wù)器發(fā)起

    2024年04月09日
    瀏覽(29)
  • boost 搜索引擎

    boost 搜索引擎

    done 公司:百度、搜狗、360搜索、頭條新聞客戶端 - 我們自己實(shí)現(xiàn)是不可能的! 站內(nèi)搜索:搜索的數(shù)據(jù)更垂直,數(shù)據(jù)量其實(shí)更小 boost的官網(wǎng)是沒有站內(nèi)搜索的,需要我們自己做一個(gè) 首先在用戶進(jìn)行搜索之前,在公司的服務(wù)器server上,內(nèi)存上有一個(gè)searcher服務(wù),而我們想進(jìn)行搜

    2024年02月11日
    瀏覽(18)
  • Boost搜索引擎

    Boost搜索引擎

    先說一下什么是搜索引擎,很簡單,就是我們平常使用的百度,我們把自己想要所有的內(nèi)容輸入進(jìn)去,百度給我們返回相關(guān)的內(nèi)容.百度一般給我們返回哪些內(nèi)容呢?這里很簡單,我們先來看一下. 這里我們簡單的說一下我們的搜索引擎的基本原理. 我們給服務(wù)器發(fā)起請求,例如搜索關(guān)鍵

    2024年01月19日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包