搜索引擎项目

C++基于正倒排索引的Boost搜索引擎 1

Boost搜索引擎项目

1.项目背景

2.搜索引擎的相关宏观原理

3.搜索引擎技术栈和项目环境

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

5.编写数据去标签与数据清洗的模块Parser

6.编写建立索引的模块Index

7.编写搜索引擎模块

8.编写http_server模块

9.编写前端模块

项目背景

-- 公司:百度,搜狗,360............==>自己不可能实现

-- 站内搜索: cplusplus.com..... ==>搜索的数据更垂直,数据量小

eg.网页搜索

++网页title (可点击跳转)--超链接++

网页的摘要描述

即将跳转的网址

百度可以直接出售关键字 ==>竞价排名 -- 广告

项目宏观原理

客户端 pc/手机---------------------------server(服务器)------------------------------------全 网

浏览器 searcher(服务软件)

http请求的方式进行搜索任务 爬虫 <------------

------->

通过GET的方式上传搜索关键字

< ------------

拼接多个网页的title+desc+url,构建一个新网页,返回网络用户

客户端 pc/手机,server(服务器),全 网

浏览器在客户端中,内存与data/*.html在server(服务器)中,searcher(服务软件)在内存中,

浏览器,经过http请求的方式进行搜索任务,通过get的方式上传搜索关键字,到服务软件

服务软件需要绑定端口,检索,索引得到相关html

服务软件,拼接多个网页的title+desc+url,构建一个新的网页,返回网络用户,浏览器

从全网大量抓取网页,通过爬虫程序抓取到 data/*.html中保存

在data/*.html中进行 1.去标签&&数据清洗 2.建立索引 --->加速查找

搜索引擎技术栈与项目环境

技术栈:

C/C++ C++11 STL 准标准库Boost(文件处理) Jsoncpp(数据交换) cppjieba(切分词) cpphttplib(开源库,http服务器)

(前端) html5 CSS JS JQuery Ajax(发送请求)

项目环境:

Centos7云服务器 vim/gcc(g++)/Makefile vs2019/vs code

相关推荐
ShineWinsu12 分钟前
对于Qt:QPushButton常见属性的解析
开发语言·c++·qt·api·gui·按钮·qpushbutton
l1m0_21 分钟前
AI设计工具有哪些?Paico、Pixso AI、墨刀AI、Lovable、Codex怎么选
前端·人工智能·ai·设计·墨刀·codex·pixso
Lhan.zzZ21 分钟前
用 Qt 构建线程安全的通讯静态库:从线程亲和性到完整工程
c++·vscode·qt·tcp/ip·udp
web打印社区23 分钟前
Lodop在Edge和双核浏览器-先分清内核
前端·javascript·edge·pdf·ecmascript·html5
西瓜拿铁好喝28 分钟前
开源和闭源 AI 办公工具,分别适合谁
java·前端·数据库
IT_陈寒29 分钟前
深入理解SpringBoot:核心原理与最佳实践
前端·人工智能·后端
xiaoye-duck39 分钟前
《C++ 项目:手写大模型接入 SDK》DeepSeek接口设计(上):初始化和全量响应
开发语言·网络·c++·语言模型
IT研究室41 分钟前
最新大数据毕业设计选题推荐-基于大数据的AI助手系统性软件缺陷评论挖掘与可视化-大数据-Spark-Hadoop-Bigdata
大数据·人工智能·课程设计
fpcc1 小时前
跟我学c++中级篇—streambuf在glog中的应用分析
开发语言·c++
Sayai1 小时前
Flink 日志解析任务性能优化实战:正则/Grok 预编译、Guava 缓存权重陷阱与 ES 写入隔离
java·大数据·性能优化·flink·实时计算