实时搜索,最重要的就是效率,实时就意味着你只要有更新就要reopen,大量的reopen的效率是很低的,导致搜索变慢。
索引结构 fs+ramX2
更新最大问题就是delete操作,因为delete操作可能是磁盘的,要reopen这个大家伙需要时间会很长,所以要是用filterindexreader,过滤点删除的diocid,这要就不用reopen磁盘索引。
上面的步骤能让你在实时的情况下,不reopen,速度会快上很多。
其他思路可以看看zoie。
另外一个问题就是当数据量很大的时候, 1千万<数据量<1亿,这时候,lucene的速度下降的很厉害,问题在于查找正向文件。所以lucene+nosql的数据库就很有必要,使lucene仅负责搜索。同时nosql的数据库支持分布式,这样能吞吐的数据就更多。
如果数据是实时的,那么缓存的策略就很难做,数据经常变,缓存就成为实时的障碍了,但是是用uid映射后,就能用
利用映射关系作为key,使缓存即能保证性能,有不影响实时。
目前测试了2000w数据,再多mongodb性能就下降的厉害了,没有好的测试机啊。
前面的博客写了,lucene4.0要出自己的filterindexreader了,到时候,可能实现起实时的搜索。会更轻松一点。
搜索,我觉得有几个阶段,和几个比较优挑战的事情
1、控制精度和召回率,实效性和高并发(初级)
--通过分词和构建query来控制,实效和高并发,已方面通过程序,另一方面又换运行环境。
2、数据完整性,不管任何情况,保证一条数据都不丢失
--工作中经常有需要停止搜索服务的时候,这时候更新的一些数据就丢失了(更新以http形式),数据抓取端是不管
搜索服务是否正常工作的,所以单独做了一台增量的服务器,做了个短线续传的功能。
3、分布式、大规模数据搜索,1亿条以上的长字段全文检索。
--lucene分布式一直是个头疼的问题,hadoop结合lucene还没有比较成熟的(nutch除外),apache推荐katta,
但是可定制性又不好,是不是该叛变到sphinx下。自己写一个,估计相当的耗时。
4、数据挖掘。智能搜索
--以前一直在用搜索的角度解决数据挖掘应该做的事,现在看来走了些弯路。这段时间主要看看数据挖掘,再提升提升
搜索质量。搜索质量到最后,拼得就数数据挖掘了
分享到:
相关推荐
如何高效搜索网络信息 .ppt
如何高效搜索网络信息.ppt
36-25高效搜索神器,视频教程
国外网站上找的Aho-Corasick字符串高效搜索算法,学习算法以及字符串搜索值得一看
Java版H264高效搜索起始码方法,可以快速找出H264码流中的起始码,代码改编来源是FFmpeg开源项目
riot是一个Go语言开发的开源,分布式,简单高效搜索引擎
StyledTextKit:可定制、高效搜索并渲染高亮文本域
操作系统 进程查找---------高效搜索系统内存检测隐藏进程
这是一个搜索网盘的工具(熊猫),打开后输入关键词(比如英语四级),就会弹出对应的结果,再保存到自己网盘或下载就可以了。该工具超轻量,没有多余的公告。
elasticsearch通过本文的介绍,你应该对Elasticsearch有了深入的了解,并能够开始尝试在你的项目中应用Elasticsearch。不断学习、实践和优化,你将能够构建出高效的搜索系统。
为了能够在保持高覆盖范围的...分析和实验结果表明,DFlooding能够提供较低负载的查询,高效地应用于P2P搜索。与标准洪泛机制相比,在跳数不变的情况下,冗余消息的数量可减少84.5%以上,而消息的覆盖范围基本不变。
高速查找系统上的文件,比系统自带的快,在别的网上找到的,供大家学习。
使用PHP+Sphinx建立高效的站内搜索引擎
结合国内外最新研究进展,对大数据安全高效搜索与隐私保护问题进行了研究展望:首先,从多源数据发布、用户搜索需求感知及隐私感知的智慧解答3个视角凝练了大数据安全搜索与隐私保护的科学问题;其次,提出了面向...
Fly through your shell history. Great Scott!
IP纯真数据库的查找类,快速定位IP对应的国家地区名和运营商名。50万级别的数据只需要几秒时间。 纯真ip库的网址: http://www.cz88.net/
SearchMyFiles是由nirsoft推出的精品小软系列之一,它的功能是高效搜索电脑上的文件,如同它的名字一样,您可用通配符搜索文件,查询条件包括:最后修改/创建/上次访问时间,按文件属性的文件内容(文本或二进制搜索...
Everything软件是一款高效的文件搜索工具,它以其极速的搜索速度和精准的搜索结果,赢得了广大用户的...这使得Everything成为了一款真正意义上的轻量级搜索工具,让你在享受高效搜索的同时,也能保持电脑的流畅运行。
高效搜索三元产品属性三元组:确定性和随机算法
云计算中加密数据的隐私增强高效搜索方法