最近在做新闻频道的搜索,数据量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,这些都应该是小菜了。
分享到:
相关推荐
【标题】"多模型-flask新闻搜索系统"指的是利用多种文本表示和检索技术构建的Web应用程序,该系统基于流行的Python框架Flask实现,主要用于新闻数据的高效搜索。它结合了LSA(Latent Semantic Analysis)、TF-IDF...
在新闻搜索引擎的设计中,Python爬虫负责从各个新闻网站抓取数据,为后续的处理和分析提供原始信息。 2.1.1 Python Python具有丰富的库支持,如requests用于发送HTTP请求,BeautifulSoup或lxml用于解析HTML文档,...
在本项目中,我们主要关注的是构建一个基于Elasticsearch 6.x的新闻搜索系统,该系统采用SpringBoot 2.x框架,并利用Java High Level REST Client进行数据交互。此外,项目还整合了WebMagic爬虫工具,用于自动抓取和...
【新闻搜索引擎9om News Search v1.0】是一款专门针对新闻数据进行检索的软件工具,其核心功能是帮助用户快速、高效地从海量新闻资源中找到所需信息。作为一款搜索引擎类应用,它集成了先进的信息检索技术和大数据...
研究www搜索引擎的系统结构,并重点对网络机器人、索引与搜索程序以及用于查询的Web服务器三个方面进行详细分析。...在这些研究的基础上利用Java TM相关技术和一些开源工具包实现一个简单的搜索引擎——新闻搜索引擎
Java课程设计:新闻搜索引擎系统相关资料,亲自实现了一个新闻搜索引擎,Java搜索引擎的研究与实现的一个实用性例子,从指定的Web页面中按照超连接进行解析、搜索,并把搜索到的每条新闻进行索引后加入数据库。...
基于WWW的新闻搜索引擎的设计与实现.nh 研究生学位论文
在这个系统中,Python发挥了其在数据处理和Web开发领域的优势,为用户提供了一个快速、准确且用户友好的新闻搜索平台。 首先,我们要理解这个系统的构成。它通常包括以下几个关键组件: 1. **数据采集**:使用...
### 基于Lucene的新闻搜索系统的设计与实现 #### 概述 随着互联网的飞速发展,网络上的信息量急剧增长,这对信息采集带来了前所未有的挑战。尽管市场上已经存在像Google、百度这样的优秀通用搜索引擎,但在某些...
零度新闻搜索项目是一个专为用户提供新闻检索服务的搜索引擎,旨在帮助用户快速、准确地找到所需的新聞资讯。在这个项目中,搜索引擎作为核心组件,它整合了多项关键技术,包括信息采集、索引构建、查询处理和结果...
最后作为专题性搜索引擎的一种,重点阐述了新闻搜索引擎,分析了网页文档半结构化的数据特点以及各大新闻网站对新闻网页的布置特点,并对新闻网页的获取、新闻内容提取算法作了详尽的论述。一该引擎采用robot新闻...
新闻搜索功能,用户可以通过关键词搜索校内新闻,支持模糊查询和精确查询。 新闻分类功能,系统将新闻分为多个类别,如学术、活动、通知等,便于用户根据兴趣筛选新闻。 热门新闻推荐,根据用户搜索历史和浏览记录,...
【新闻搜索3.01】是一款专为Symbian操作系统设计的新闻检索应用程序,它集成了先进的搜索引擎技术,旨在帮助用户快速、便捷地获取全球范围内的新闻资讯。Symbian系统,作为曾经广泛应用于智能手机的操作系统,具有...
【ASP进度最新新闻搜索】 ASP(Active Server Pages)是一种由微软开发的服务器端脚本环境,用于创建动态交互式网页。在"ASP进度最新新闻搜索"这个主题中,我们主要探讨的是如何利用ASP技术实现一个新闻搜索功能,...
【基于lucene的网络新闻搜索引擎的设计与实现】 网络新闻搜索引擎是现代信息检索技术的重要应用,尤其是在互联网信息爆炸的时代,搜索引擎成为人们获取新闻信息的主要途径。本文以“基于lucene的网络新闻搜索引擎的...
《Spark实现财经新闻搜索引擎》 本项目旨在利用大数据处理框架Spark来构建一个财经新闻搜索引擎,涉及的主要技术包括新闻正文提取、中文分词、倒排索引构建、执行搜索以及用户界面设计。下面是各项任务的详细解析:...
在本项目实践中,我们主要探讨的是如何利用人工智能技术,特别是多线程爬虫与Elasticsearch(简称ES)来构建一个新闻搜索引擎。这个项目旨在帮助我们掌握数据抓取、处理和检索的核心技能,以实现高效的信息获取和...
"Googie谷鸽新闻搜索系统"是一个开源的项目,基于标签"源码"我们可以推测这是一个包含编程源代码的压缩包。这个系统很可能是一个新闻搜索应用程序的实现,旨在帮助用户快速、高效地查找和获取相关新闻信息。下面将...