首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
python2
regex
config
hook
client
heap
solr
ascii
web3
数组
md5
frameworks
foreach
include
expression
timezone
actionscrip
default
emoji
controller
join
netty
list
spring
command
go
require
js
replace
cookie
python3
shell
install
stream
php5
header
hashset
buffer
integer
schema
vba
scala
substring
typescript
runtime
email
filter
callback
chat
cmd
hashcode
less
loops
cPlusPlus
blob
format
dll
import
fetch
object
main
heatmap
grid
lua
post
copy
tags
eval
dockerfile
string
version
perl
window
java
golang
get
audio
express
int
当前位置:
开发笔记
>
编程语言
> 正文
Twitter实时搜索系统EarlyBird
作者:kobe0390 | 来源:互联网 | 2023-09-05 19:14
twitter对存档的tweet使用lucene做全量索引,新发的推文则是实时索引,实时检索(10秒之内索引)。实时索引和检索系统叫EarlyBird。感觉写得比较清楚简洁,只
twitter对存档的tweet使用lucene做全量索引,新发的推文则是实时索引,实时检索(10秒之内索引)。实时索引和检索系统叫EarlyBird。
感觉写得比较清楚简洁,只要这些信息足够真实可信,完全可以做实现参考。
我简单做了几个记录:
1)基于lucene + java,michael busch是lucene committer
2)词典直接用哈希表,因此不支持term的prefix,偏序查询,哈希表使用开放链址法实现,避免大量小对象gc开销
3)postings列表在optimize之前直接用数组,按照docid生序不压缩,因此查找可以直接二分查找不需要跳跃表结构.posting增长时分配空间以block为单位,分配空间按指数预留空间
4)12个segment11个是read-only,只有一个是可读可写的,一个segment中tweet数量超过8.4m时,segment经过optimize(不是lucene中的段合并,而是做压缩)变为read only.
5)11个只读段并发读不需要锁,唯一的可读可写段使用volatile关键字实现高效同步(jvm memory barrier)
论文地址:
http://www-users.cs.umn.edu/~gade/earlybird.pdf
Twitter实时搜索系统EarlyBird,,
Twitter实时搜索系统EarlyBird
android
asp.net
php
jsp
数据库
twitter
搜索
lucene
windows
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
js
Python与Java在Appium中的应用:混合APP自动化测试方法详解
本文详细探讨了如何使用Python和Java语言结合Appium框架进行混合APP的自动化测试,特别针对面试中常见的问题进行了整理和解答。 ...
[详细]
蜡笔小新 2024-11-27 15:32:59
js
Python中调用Java代码的方法与实践
本文探讨了如何在Python环境中集成并调用Java代码,通过具体的步骤和示例展示了这一过程的技术细节。适合对跨语言编程感兴趣的开发者阅读。 ...
[详细]
蜡笔小新 2024-11-27 17:54:57
js
Flask中路由的基础定义与应用
本文介绍了如何在Flask框架中通过装饰器为视图函数指定访问路径,并详细讲解了带参数路由及指定请求方法的实现方式。 ...
[详细]
蜡笔小新 2024-11-27 10:18:12
js
深入解析Android Activity生命周期
本文详细探讨了Android中Activity的生命周期,通过实例代码和详细的步骤说明,帮助开发者更好地理解和掌握Activity各个阶段的行为。 ...
[详细]
蜡笔小新 2024-11-27 03:28:32
js
C语言初学者指南:利用二维数组与结构体实现贪食蛇游戏
本文面向非计算机专业背景的编程爱好者,介绍如何仅使用基础的C语言知识——二维数组和结构体,无需掌握复杂的数据结构如链表,即可编写一款经典的贪食蛇游戏。通过本教程,您将了解游戏开发的基本原理和实现方法。 ...
[详细]
蜡笔小新 2024-11-27 18:05:55
js
VS Code 中 .vscode 文件夹配置详解
本文介绍了 VS Code 中 .vscode 文件夹下的配置文件及其作用,包括常用的预定义变量和三个关键配置文件:launch.json、tasks.json 和 c_cpp_properties.json。 ...
[详细]
蜡笔小新 2024-11-27 17:52:29
js
如何在Android Studio中移除Activity的标题栏
本文介绍了在Android Studio中通过代码和配置文件两种方法来移除Activity的标题栏,并讨论了当Activity继承自AppCompatActivity时的特殊处理方法。 ...
[详细]
蜡笔小新 2024-11-27 17:40:30
js
Redis 单节点安装指南
本文详细介绍了如何在Linux系统上安装和配置单节点的Redis服务,包括下载、解压、编译安装以及启动服务的具体步骤。 ...
[详细]
蜡笔小新 2024-11-27 17:28:07
js
第25周工作与生活反思
本周六上午11点左右到达公司,回顾了一周的行业动态并完成了昨日的任务。下午主要解决了Axis2缓存问题以及DBS和KMS的相关技术难题。由于服务替换导致平台访问错误,经过多方查找未能解决,最终决定暂时搁置。此外,还分享了与朋友之间的沟通障碍及个人成长的思考。 ...
[详细]
蜡笔小新 2024-11-27 16:38:51
js
13、单向链表
头文件:LinkList.hLinkList.cmain.cVS2 ...
[详细]
蜡笔小新 2024-11-27 14:45:45
js
UVA 401 - 镜像回文字符串
本题探讨了如何判断一个字符串是否为普通回文、镜像回文或两者都不是。通过特定的字符映射表来实现字符串的镜像转换,并根据转换后的结果进行分类。 ...
[详细]
蜡笔小新 2024-11-27 13:54:55
js
Python全栈之旅:SQLAlchemy ORM中的外键与关系
本文探讨了SQLAlchemy ORM框架中如何利用外键和关系(relationship)来建立表间联系,简化复杂的查询操作。通过示例代码详细解释了relationship的定义、使用方法及其与外键的相互作用。 ...
[详细]
蜡笔小新 2024-11-27 11:20:01
js
MySQL: 表 'xdb.auditlog' 被标记为已损坏,需要修复
本文介绍了如何处理MySQL数据库中表 'xdb.auditlog' 被标记为已损坏的问题,并提供了解决方案。 ...
[详细]
蜡笔小新 2024-11-26 19:50:06
js
帝国cms各数据表有什么用
CMS教程|帝国CMS帝国cmsCMS教程-帝国CMS精易编程助手源码,ubuntu桥接设置,500错误是tomcat吗,爬虫c原理,php会话包括什么,营销seo关键词优化一般多 ...
[详细]
蜡笔小新 2024-11-26 18:27:32
js
实现PopupWindow全屏显示并隐藏虚拟按键的方法
本文详细介绍了一种实现PopupWindow全屏显示且能有效隐藏虚拟按键的技术方案,适用于Android开发。此方法经过实际测试,表现良好,兼容性优秀。 ...
[详细]
蜡笔小新 2024-11-26 15:35:31
kobe0390
这个家伙很懒,什么也没留下!
Tags | 热门标签
python2
regex
config
hook
client
heap
solr
ascii
web3
数组
md5
frameworks
foreach
include
expression
timezone
actionscrip
default
emoji
controller
join
netty
list
spring
command
go
require
js
replace
cookie
RankList | 热门文章
1
腾讯安全平台部招聘安全工程师和数据分析工程师
2
北京景点排行榜 北京最好玩的旅游景点
3
ASP.NET Core MVC入门及基础使用教程
4
GBase8s逻辑日志使用情况监控方法及注意事项
5
Python使用Pillow包生成验证码图片的方法
6
Python工具安装教程及注意事项
7
魅族MX7手机上市,售价多少钱?最新消息揭晓!
8
交通红绿灯倒计时完了以后还是红灯,算闯红灯吗?
9
超级简单加解密工具的方案和功能
10
Android开发优化之软引用与弱引用的应用
11
Centos7搭建ELK(Elasticsearch、Logstash、Kibana)教程及注意事项
12
Wince程序内存和存储内存的分析及作用
13
惠普多功能一体报错Document Feeder Jam的解决办法
14
Python小白学习之基础知识(个人笔记)中的while else用法介绍
15
《悼妓》翻译及唐崔涯诗文赏析
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有