浏览 5506 次
锁定老帖子 主题:问题-海量数据查询
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2008-03-19
我曾采用以下方法 1、sqlserver自带全文索引,存在速度太慢、检索不准确的问题 2、采用把这些企业数据放到java缓冲中,走不下去了,问题是不现实,因为我用tomcat作为服务,内存有限制,这些数据根本放不下,还有我采用只知道采用iterator方法来遍历这些数据,所以就不用了 3、听说lucene在做这方面工作有优势,奈何我还不知道还怎么使用,还有听说也存在检索不准确的问题,所以就暂时放弃了 现在只好把这些数据按大类别分了几十个表,查询的时候也必须选择这些大类别,在录入查询的关键词进行搜索才暂时可以使用了。 请教各位老师有什么办法可以象“百度,google”一样的搜索关键词呢? 不胜感谢! 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-03-19
把常用的数据挖掘方式找一下.
能想到的只有你没有把分页加上? |
|
返回顶楼 | |
发表时间:2008-08-27
谢谢“抛出异常的爱”
|
|
返回顶楼 | |
发表时间:2008-08-27
目前的搜索大体分通用搜索和垂直搜索。
两者差别在于信息来源,通用的范围很广,所以数据量一般都是海量。垂直的信息来源比较单一,所以数据量相对而言就小。 技术角度而言,通用主要关注数据量,偏重架构设计,而垂直着重搜索的UI。 如何设计好一个架构,我觉得自己还在摸索,所以不多说,感兴趣的可以看看google的paper。 垂直搜索的面向是特定用户群,他们需要的是准确快速方便的找到自己想要的信息。所以如何将用户体验做好,这个难度在这里。 因为是要通过搜索表现结果,那么就需要结合搜索。 举几个例子现在不大好的垂直搜索: google的生活频道搜索,一大堆搜索条件让人选择,这明显是不懂搜索的人做的。 还有些搜索,对自身业务没搞清,就往通用靠拢,根据搜索关键词来拉出些相关词。 国内我觉得不错的垂直, taobao。 |
|
返回顶楼 | |
发表时间:2008-08-27
一个完整的垂直搜索生命周期包括:
Crawl:抓取足够多的数据; Extract:从数据中解析出需要的内容存储起来; Index:做索引; Sort:基于相关性算法进行排序 UI:把结果对用户友好的方式表现出来。 |
|
返回顶楼 | |
发表时间:2008-08-27
数据库是MSSQL2005,有一张表有四百多万条记录,表结构为: ID,类别,访问时间 现在要统计某段时间内每个类别的访问量,我写的sql语句是 select 类别,count(1) as 访问量 from 数据表 where 访问时间 between '2007-9-1 ' and '2007-9-7 ' group by 类别 select 类别,count(1) as 访问量 from 数据表 where 访问时间 between '2007-9-1 ' and '2007-9-7 ' group by 类别 ---------- 你写的这个语句是没有优化的余地了,如果你想提高查询效率的话 可在[访问时间]列建立非聚簇索引 不知LZ你对这张表插入和更新频不频繁??? (索引可提高查询效率,但同时又减慢插入或更新的效率) |
|
返回顶楼 | |
发表时间:2009-02-16
直接基于数据库的海量查询已经不能满足当前互联网需要了,历时4个月的开发和优化也不能达到百度谷歌一样的查询效果,还是采用专业人做的专业搜索引擎吧,时间不等人,不能在一棵树山吊死了。
|
|
返回顶楼 | |