`
ag4444
  • 浏览: 35783 次
  • 性别: Icon_minigender_1
  • 来自: taiyuan
社区版块
存档分类
最新评论

问题-海量数据查询

阅读更多
   我正在做一个web项目,使用工具java,基本框架ssh,数据库sqlserver,遇到一个海量数据检索的问题:需要从数据库中2000万以上的商品类数据中,直接检索到要查询的商品列表信息,如我查询关键词“钢圈”,要所有包括“钢圈”的商品都分页显示出来。
我曾采用以下方法
1、sqlserver自带全文索引,存在速度太慢、检索不准确的问题
2、采用把这些企业数据放到java缓冲中,走不下去了,问题是不现实,因为我用tomcat作为服务,内存有限制,这些数据根本放不下,还有我采用只知道采用iterator方法来遍历这些数据,所以就不用了
3、听说lucene在做这方面工作有优势,奈何我还不知道还怎么使用,还有听说也存在检索不准确的问题,所以就暂时放弃了

现在只好把这些数据按大类别分了几十个表,查询的时候也必须选择这些大类别,在录入查询的关键词进行搜索才暂时可以使用了。

请教各位老师有什么办法可以象“百度,google”一样的搜索关键词呢?
                                                                    不胜感谢!

分享到:
评论
6 楼 ag4444 2009-02-16  
直接基于数据库的海量查询已经不能满足当前互联网需要了,历时4个月的开发和优化也不能达到百度谷歌一样的查询效果,还是采用专业人做的专业搜索引擎吧,时间不等人,不能在一棵树山吊死了。
5 楼 ag4444 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你对这张表插入和更新频不频繁???
(索引可提高查询效率,但同时又减慢插入或更新的效率)
4 楼 ag4444 2008-08-27  
一个完整的垂直搜索生命周期包括:
Crawl:抓取足够多的数据;
Extract:从数据中解析出需要的内容存储起来;
Index:做索引;
Sort:基于相关性算法进行排序
UI:把结果对用户友好的方式表现出来。
3 楼 ag4444 2008-08-27  
目前的搜索大体分通用搜索和垂直搜索。

两者差别在于信息来源,通用的范围很广,所以数据量一般都是海量。垂直的信息来源比较单一,所以数据量相对而言就小。

技术角度而言,通用主要关注数据量,偏重架构设计,而垂直着重搜索的UI。


如何设计好一个架构,我觉得自己还在摸索,所以不多说,感兴趣的可以看看google的paper。

垂直搜索的面向是特定用户群,他们需要的是准确快速方便的找到自己想要的信息。所以如何将用户体验做好,这个难度在这里。

因为是要通过搜索表现结果,那么就需要结合搜索。

举几个例子现在不大好的垂直搜索:


google的生活频道搜索,一大堆搜索条件让人选择,这明显是不懂搜索的人做的。

还有些搜索,对自身业务没搞清,就往通用靠拢,根据搜索关键词来拉出些相关词。


国内我觉得不错的垂直,

taobao。



2 楼 ag4444 2008-08-27  
谢谢“抛出异常的爱”
1 楼 抛出异常的爱 2008-03-19  
把常用的数据挖掘方式找一下.
能想到的只有你没有把分页加上?

相关推荐

    SpringCloud微服务架构-海量数据商用短链平台项目 视频教程 百度网盘链接2.zip

    │ 77.1-Jmeter单接口压测问题点和流量漏斗模型介绍.mp4 │ 77.2-带你走进流量模型-流量记录重放技术.mp4 │ 77.3-流量重放GoReplay介绍和依赖环境讲解.mp4 │ 77.4-阿里云Linux服务器安装Go环境和GoReplay实战....

    电信设备-海量数据信息索引系统和索引构建方法.zip

    海量数据信息索引系统是这种需求的产物,它的主要目标是通过建立高效的索引来加速数据查询和分析。索引是一种数据结构,它允许我们在大量数据中快速定位到特定的信息,类似于图书的目录,能够帮助读者迅速找到所需的...

    深入搜索引擎--海量信息的压缩、索引和查询

    本书是斯坦福大学信息检索和...本书作为斯坦福大学信息检索课程的教材之一,具有一定的阅读难度,主要面向信息检索专业高年级本科 生和研究生、搜索引擎业界的专业技术人员和从事海量数据处理相关专业的技术人员。...

    论文研究-海量数据快速批量处理的研究与实现.pdf

    特别是对于海量数据,SQL的优化(比如使用索引、合理的查询语句设计等)对提高数据处理效率至关重要。 5. 触发器(Trigger)的使用 触发器是数据库管理系统中用于自动执行一些特定操作的程序。文中指出,通过合理地...

    海量数据查询的解决方案

    这篇文档将深入探讨如何应对海量数据查询的问题,分享一些实用的技术和工具。 首先,我们得了解大数据的基本概念。大数据是指数据量巨大、增长速度快、类型多样的信息资产,它需要特殊的技术和计算能力来处理。面对...

    SpringCloud微服务架构-海量数据商用短链平台项目 视频教程 百度网盘链接4.zip

    │ 77.1-Jmeter单接口压测问题点和流量漏斗模型介绍.mp4 │ 77.2-带你走进流量模型-流量记录重放技术.mp4 │ 77.3-流量重放GoReplay介绍和依赖环境讲解.mp4 │ 77.4-阿里云Linux服务器安装Go环境和GoReplay实战....

    MySQL海量数据查询优化策略.

    在处理MySQL海量数据查询优化时,我们需要关注的策略包括但不限于以下几点: 1. 优化索引使用:避免全表扫描至关重要。为此,应当在查询条件(WHERE)和排序(ORDER BY)涉及的列上创建索引。索引有助于数据库管理...

    一种海量分布式数据Top-k查询算法.pdf

    关键词中的“海量数据”指的就是数据量庞大到难以用常规方法进行有效处理的程度。Top-k中的“k”是一个关键参数,代表着用户最关心的数据集合大小,用户通过这个“k”值来获得最重要的信息。在海量分布式数据的背景...

    《Java面试必知必会》-海量数据类高频问题和参考答案.pdf

    《Java面试必知必会》一书中,针对海量数据处理的部分涵盖了多个重要知识点,这些都是Java开发者在求职面试中经常遇到的问题。以下是对这些知识点的详细解释: 1. **基础知识** - **Bit与Byte**:计算机中最基本的...

    Go-gohs-Ladon海量正则快速匹配给定一行字符串

    Go-gohs-Ladon是一个专门解决此类问题的库,它允许开发者快速地在海量正则表达式集合中查询与给定字符串匹配的正则,并且可以返回与这些正则相关的附加信息。这种高效性能尤其适用于安全审计、日志分析、数据提取等...

    海量数据查询优化

    本篇文章将深入探讨“海量数据查询优化”这一主题,包括聚集与非聚集索引的区别,以及如何利用索引来提升查询性能。 首先,我们要理解什么是索引。索引是数据库管理系统中用于加速数据检索的数据结构。它类似于书籍...

    百万数据查询优化海量数据查询优化

    【标题】:“百万数据查询优化海量数据查询优化” 在处理海量数据时,查询优化显得尤为重要,特别是当数据量达到百万级别甚至更高时。查询优化旨在提高数据查询的效率,减少查询时间,提升系统性能。以下是一些关键...

    海量数据处理-hive数据仓库

    海量数据处理-hive数据仓库 很好的讲解的大数据海量数据处理的数据仓库模型建设

    深入搜索引擎--海量信息的压缩、索引和查询.pdf

    《深入搜索引擎:海量信息的压缩、索引和查询》作为斯坦福大学信息检索课程的教材之一,具有一定的阅读难度,主要面向信息检索专业高年级本科生和研究生、搜索引擎业界的专业技术人员和从事海量数据处理相关专业的...

    大数据-算法-海量点集数据的极大点查找算法及相关应用研究.pdf

    在当前的信息时代,海量数据的处理已经成为一个至关重要的课题。由于数据量巨大,往往无法一次性装入内存,因此,如何有效地在外存(如硬盘)和内存之间进行数据交换,即输入/输出(I/O)操作,成为优化算法效率的...

Global site tag (gtag.js) - Google Analytics