`

[请教]如何高效实现应用metadata,tagging?

    博客分类:
  • Java
阅读更多

项目中有很多数据,根据不同的metadata或者tag来把他们归类。

比如:

tag 学校,数据有xx小学,xxx中学,等等

tag 餐馆,数据有xx餐馆,xxx酒店

tag 建筑,数据有xx小学,xx餐馆

在数据量很多,tag也很多的情况下,(很多many-to-many关系),如何高效实现这种数据结构?

如何在读取数据的时候可以做到很高效?

我可以创建很多hashmap,每个key是tag,value是数据对象list或者array,但如果查找与好几个tag都有关系的数据,这不是个很有效的实现。当然可以从数据库中查询,然后缓存,但问题是,tag的组合很多,导致缓存里的数据类也很多。

项目的要求是尽可能把数据存到内存或者cache里面,然后高效的读取。

我没做过类似metadata/tagging的项目,请有经验有想法的朋友不吝赐教。谢谢啦!

这个不算新手贴吧。。。如果是的话,请在投票前指明出路。。。拜谢~~~~

分享到:
评论
3 楼 robbin 2008-04-20  
lordhong 写道
谢谢robbin,fulltext index是个思路。
问题是,这个项目的数据来自很多RSS(实时realtime的)。
所以数据没有经过数据库。
所以需要一个在内存里的数据结构,实现方法来做到tagging及高效读取。


fulltext本身和数据库没啥关系。你从RSS抓取数据过来经过一道fulltext index工序就啥都有了,这本身就是readtime的。
2 楼 lordhong 2008-04-20  
谢谢robbin,fulltext index是个思路。
问题是,这个项目的数据来自很多RSS(实时realtime的)。
所以数据没有经过数据库。
所以需要一个在内存里的数据结构,实现方法来做到tagging及高效读取。
1 楼 robbin 2008-04-19  
可以用全文检索的思路去解决这个问题,对数据进行全文索引,用tag作为分词的词库,搜索的时候很简单,标准的全文检索,这个办法的检索速度是非常快的,也可以支持庞大的tag和数据量,还可以很简单的实现你说的多tag搜索。

相关推荐

    Tagging People powered Metadata for the Social Web - New Riders Press.rar

    《Tagging People powered Metadata for the Social Web》是New Riders Press出版的一部专著,主要探讨了在社交网络中人们如何通过标签系统来组织和管理元数据。这本书深入研究了“标记”这一概念,它是Web 2.0时代...

    Tagging: People-powered Metadata for the Social Web

    Author: Gene Smith Paperback: 216 pages Publisher: New Riders Press; 1 edition (January 6, 2008) Language: English ISBN-10: 0321529170 ISBN-13: 978-0321529176

    解决Android Studio Gradle Metadata特别慢的问题

    "解决Android Studio Gradle Metadata特别慢的问题" Android Studio是Android应用程序开发的官方IDE,它提供了许多功能来帮助开发者快速构建和测试Android应用程序。然而,在使用Android Studio时,有时可能会遇到...

    DatabaseMetaData生成数据库DLL

    1. **什么是DatabaseMetaData?** `DatabaseMetaData` 是Java中的一个接口,它提供了关于JDBC驱动程序和连接数据库的信息。通过调用`Connection`对象的`getMetaData()`方法,我们可以获取到`DatabaseMetaData`实例...

    reflectmetadata的轻量级3KES模块实现

    本篇文章将深入探讨`reflect-metadata`的轻量级3KES模块实现,以及如何在实际项目中应用这一技术。 `reflect-metadata`库的核心在于提供了一种方式来在JavaScript对象上添加和检索元数据。元数据是附加到代码上的...

    Laravel开发-metadata

    在Laravel框架中,metadata扮演着重要的角色,尤其是在构建动态和灵活的应用程序时。 首先,我们要理解Laravel中的metadata是如何存储和管理的。Laravel提供了一个名为`Cache`的门面,可以用来处理包括metadata在内...

    metadata-extractor-2.x资源jar包

    《metadata-extractor-2.x资源jar包:深入解析与应用》 在Java开发中,处理图像文件时,我们经常需要获取或修改图像的元数据,尤其是对于JPEG格式的图片,其内部包含了丰富的EXIF(Exchangeable Image File Format...

    kotlin-metadata,.zip

    在Kotlin世界里,这通常通过Gradle或Maven的依赖管理实现。 总之,`kotlin-metadata`库是Kotlin开发中的一个强大工具,它使开发者能够以类型安全且易于理解的方式访问和利用Kotlin编译后的元数据。这个开源项目不仅...

    metadata-extractor-2.6.2-API文档-中文版.zip

    赠送jar包:metadata-extractor-2.6.2.jar; 赠送原API文档:metadata-extractor-2.6.2-javadoc.jar; 赠送源代码:metadata-extractor-2.6.2-sources.jar; 赠送Maven依赖信息文件:metadata-extractor-2.6.2.pom;...

    167-获取 metadata 过程详解1

    总的来说,OpenStack的metadata服务获取过程是通过一系列的网络转发和代理服务来实现的,保证了instance可以透明地访问到控制节点上的nova-api-metadata,从而获取必要的配置信息。这一过程体现了OpenStack强大的...

    mediautil+metadata-extractor

    这个工具包含两个核心组件:`meduautil-1.0.jar`和`metadata-extractor-2.3.1.jar`,它们都是Java编写的库文件,可以方便地集成到各种Java应用程序中来读取和解析多媒体文件的元数据。 首先,我们来看`metadata-...

    前端项目-reflect-metadata.zip

    这个"前端项目-reflect-metadata.zip"包含了实现Metadata Reflection API的Polyfill,这是一个用于JavaScript的元数据功能扩展,它使得在运行时查询和操作对象的元数据成为可能。接下来,我们将深入探讨Reflect ...

    metadata-extractor-2.6.2-API文档-中英对照版.zip

    赠送jar包:metadata-extractor-2.6.2.jar; 赠送原API文档:metadata-extractor-2.6.2-javadoc.jar; 赠送源代码:metadata-extractor-2.6.2-sources.jar; 赠送Maven依赖信息文件:metadata-extractor-2.6.2.pom;...

    jquery.metadata.2.0

    《jQuery Metadata插件详解及其应用》 在Web开发领域,jQuery作为一个强大的JavaScript库,极大地简化了DOM操作,事件处理和Ajax交互。而jQuery Metadata插件是jQuery生态系统中的一个重要组件,它提供了一种灵活的...

    jquery.metadata.1.0_javascript_jquery_

    通过使用该插件,可以更方便地将配置信息或数据绑定到DOM元素上,从而实现更灵活的前端应用开发。在处理大量动态内容或需要自定义行为的网页时,它能提供很大的便利性。尽管这个版本可能较旧,但对于理解元数据的...

    metadata-extractor.jar

    《元数据提取库:metadata-extractor.jar在Java与Android中的应用》 在数字时代,图像文件不仅包含了我们看到的像素信息,还包含了丰富的元数据(Metadata),这些数据提供了关于图片拍摄时间、地点、设备参数等...

    Informatica PowerCenter Metadata Exchange选项

    其次,Metadata Exchange选项能够实现PowerCenter元数据的导出,即将PowerCenter中的元数据自动导出到第三方应用程序中。这在很多情况下是很有用的,比如企业需要将数据模型或数据流程图等信息传递给非PowerCenter...

    jquery.metadata.js.zip

    《jQuery Metadata插件详解及其应用》 在JavaScript的世界里,jQuery库以其易用性和强大的功能深受开发者喜爱。而jQuery Metadata插件是jQuery生态系统中的一个重要组件,它允许开发者从HTML元素中提取元数据...

    metadata.db

    《元数据数据库“metadata.db”在Calibre及群晖系统中的应用详解》 在数字图书馆管理和个人电子书收藏中,Calibre是一款广受欢迎的管理工具,它为用户提供了全面的电子书整理、转换和同步功能。其中,“metadata.db...

    Jquery+Jquery.metadata.js

    在IT行业中,jQuery是一个广泛使用的JavaScript库,它极大地简化了DOM操作、事件处理、动画制作以及Ajax交互。...在实际项目中,如TestStruts2_Jquery,结合Struts2框架,能够构建出高效、易维护的Web应用。

Global site tag (gtag.js) - Google Analytics