睡不着, 百度等搜索引擎的索引如何存储的,在文件还是数据库?

hqulyc 2009-10-23 12:49:50
1. 百度/google等搜索引擎的建好的倒排序索引跟词库, 分别如何存放呢? 是存放于数据库的吗?

2. lucene的索引好象是存放在文件里,没有放到数据库, 每次查询的时候都要打开一次文件吗? 如果不是,很想知道它跟apache/tomcat是如何交互的?

3. lucene的词库是加载到内存的吗?还是每次搜索都要去加载或读取文件?

...全文
170 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
shaozi110 2009-10-26
  • 打赏
  • 举报
回复
存文件
vickemble 2009-10-25
  • 打赏
  • 举报
回复
每天先把数据库里的数据导出,生成一个类似PDF的文件。


前台内存再加上搜索功能,把这个的文件里的结果,返回给用户。不是直接读取数据库的。
buqitianxie 2009-10-24
  • 打赏
  • 举报
回复
我觉得不应该是文件吧,毕竟人家的是海量数据,怎么也得是数据库吧
erp2 2009-10-24
  • 打赏
  • 举报
回复
恶心!
bancxc 2009-10-23
  • 打赏
  • 举报
回复
肯定有数据库
hqulyc 2009-10-23
  • 打赏
  • 举报
回复
数据索引,我认为没放数据库, 而是存到文件了:(
明晚揭帖!~
sciolist 2009-10-23
  • 打赏
  • 举报
回复
肯定是数据库...顺便接点分
街头小贩 2009-10-23
  • 打赏
  • 举报
回复
DC学习!对此没研究
hqulyc 2009-10-23
  • 打赏
  • 举报
回复
有看过百度跟google技术的介绍,

1. 网页蜘蛛/机器人, 定时从网上抓取页面, 更新数据信息;
2. 文本分析器, 分析页面内容,抽取出关键词, 这里用了分词技术;
3. 建立数据索引,似乎都用了改良的倒排序索引。
4. 存储索引? 我有个疑问,如果保存在数据库, 如何能够进行快速匹配到词, 难道是直接从数据库里采用SQL语句搜索索引库, 然后获取索引,如何对索引进行合并呢?这样处理如何能达到那么快的速度呢?这个处理过程我很想知道,哪怕是个大概。

24,923

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Apache
社区管理员
  • Apache
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧