最近在做新闻频道的搜索,数据量1000W+,预计索引size在20G左右。
百万数据量下用BerkeleyDB速度提升相当明显,但是上到千万时候,性能就没那多突出了。
手机之家的设计方案网上也有,就是用的BerkeleyDB
但是不能单纯使用,本来想做全文检索,但是数据量太大,性能有点问题。尽管可以通过其他手段拆分和优化,但是借着这个机会想用用hadoop,要不然可能没有机会了。
暂时先做标题检索,等学完hadoop后看看分布式后有没有效果,速度是不是有提升。
首先实现的思路是lucene用磁盘索引,只存储ID和title,因为搜索结果页只有title
然后用BerkeleyDB做存储,存储不用 key<String>,value<Object> ,而是用<String><String>,存储都用String。因为value是多字段的,所以刚开是想用Object-XMl-String,后来想为什么不用Object-JSON-String,这样更接受空间。
大概测试了一下,400w的id和title才500M 1000w也不过1g左右,搜索应该很快。更新时也不会产生很多的零碎段文件,索引的优化也很快。
BerkeleyDB的get一条信息,大概15ms,加上转换组装成xml,100ms肯定没有问题。性能还是不错的。 BerkeleyDB存储400w占用 11G空间,1000w也就30G,对BerkeleyDB应该不是什么大问题。
也许还有很多NOSql的数据库要比BerkeleyDB好,所以换成其他的,也许吞吐量会更大。
但是目前来说,全文检索暂时还是一个障碍,等过段时间搞完hadoop,这些都应该是小菜了。
分享到:
相关推荐
研究www搜索引擎的系统结构,并重点对网络机器人、索引与搜索程序以及用于查询的Web服务器三个方面进行详细分析。...在这些研究的基础上利用Java TM相关技术和一些开源工具包实现一个简单的搜索引擎——新闻搜索引擎
采用多种方法(LSA,TFIDF,Doc2Vec)建立新闻搜索系统,每个搭建一个模型,内含数据跟训练调用方法。
基于elasticsearch 6.x的新闻搜索项目代码,SpringBoot2.x项目形式,使用Java High Level REST Client。包含了WebMagic爬虫程序
我的毕业论文基于开源LUCENE的新闻搜索引擎的实现
Java课程设计:新闻搜索引擎系统相关资料,亲自实现了一个新闻搜索引擎,Java搜索引擎的研究与实现的一个实用性例子,从指定的Web页面中按照超连接进行解析、搜索,并把搜索到的每条新闻进行索引后加入数据库。...
基于WWW的新闻搜索引擎的设计与实现.nh 研究生学位论文
新闻搜索引擎 9om News Search v1.0
最后作为专题性搜索引擎的一种,重点阐述了新闻搜索引擎,分析了网页文档半结构化的数据特点以及各大新闻网站对新闻网页的布置特点,并对新闻网页的获取、新闻内容提取算法作了详尽的论述。一该引擎采用robot新闻...
新闻搜索功能,用户可以通过关键词搜索校内新闻,支持模糊查询和精确查询。 新闻分类功能,系统将新闻分为多个类别,如学术、活动、通知等,便于用户根据兴趣筛选新闻。 热门新闻推荐,根据用户搜索历史和浏览记录,...
2 搜索引擎相关技术介绍 2.1 Python爬虫技术 2.1.1 python 2.1.2 爬虫概述 2.2 结巴分词 2.3 SPIMI构建索引算法 2.4 计算两两新闻之间余弦相似度 2.5 BM25公式进行打分排序 2.5.1 检索概率模型BM25公式 ...
财经新闻搜索引擎 从财经新闻网页数据开始,进行正文提取、中文分词、倒排索引构建、执行搜索和UI。 要求技术:MapReduce或Spark;执行搜索和UI采用Spark或Java 步骤: (1)新闻正文提取,采用正则表达式提取指定...
自制的汽车新闻搜索引擎 es环境配置 首先安装 Java jdk JAVA_HOME 配置 path 然后管理员身份运行bin目录下的bat文件安装es 同上原理安装kibana kibana 一个为es提供数据分析的web接口. 可使用它对日志进行高效的...
基于爬虫的百度新闻搜索引擎: 爬取网页,起始网页为百度中 百家号上随意一篇文章 http://baijiahao.baidu.com/s?id=1685579912006379153 设置初始配置 请求头:防止反爬 已爬取标题集合、已爬取url集合:防止爬取...
系统介绍了一个基于java的垂直搜索引擎的开发流程,对于初学垂直搜索引擎的用户有很大的帮助
谷鸽新闻搜索 谷鸽采用谷鸽自己数据库,谷鸽针对网站收录规则: 1、当被收录的站点网页打开速度快 2、当被收录的站点自身内容更新快 注:非采集的内容 3、当被收录的站点内容健康 4、当被收录的站点少假的点击信息 ...
本项目是一个简单的新闻搜索引擎,主要包括三个基础模块: 数据模块:爬取和保存数据,数据源为中国社会科学网 索引模块:构建和保存索引,这里的索引是指倒排索引 搜索模块:搜索主逻辑,采用 BM25 算法计算 query...
零度新闻搜索项目-搜索引擎
基于Lucene的新闻搜索系统的设计与实现 垂直搜索引擎;Lucene;Heritrix;新闻定制
一款新闻搜索软件
Googie谷鸽新闻搜索系统采用谷鸽自己数据库,谷鸽针对网站收录规则: 1、当被收录的站点网页打开速度快 2、当被收录的站点自身内容更新快 注:非采集的内容 3、当被收录的站点内容健康 4、当被收录的站点少假的...