一般网站(假设用 Lucene )要做更新频率比较高的,常见的是大小索引包,大的索引包是旧数据索引,小索引包是新数据索引。更新主要集中在小索引包这里,因为索引小,所以完成索引到能提供搜索的时间是比较短。
但是有时候也不能满足一些高并发的网站高更新需求,高更新要求指的是:用户可能提交了信息后,希望提交后,就能搜索到。这个用lucene的可能就有点吃力。这类一般修改的也很多。
这样可能就需要考虑自建,于是就需要考虑以下几个因素:
1:索引:索引通常是倒排,一个termid最多包含多少个docid呢?以新索引来看应该不会多的很,如果很多,那么可以定期写一个索引,顶多到时候并发到三个地方(旧索引(磁盘),新索引(很新,还在内存),新索引(旧,写到磁盘))搜索。
2:锁:降低锁的粒度,比如建立多个termid的锁。
3:排序:一般是按照score和时间,score可以在最小化范围后进行积分计算,比如归并,快排等。时间就有点麻烦,假如只是时间递增排序或者递减排序,那么就是做个按照时间排的堆索引,但是如果还提供某个时间段,那就需要按照时间段(比如分,比如秒来排序),如果很复杂还要设计时间排序索引的结构,比如用AVL,RB树等。
4:操作:建立独立的更新和删除结构。
5:定时更新到磁盘。
以上未经实证,只是本人无聊猜想。如有雷同,纯属巧合。
欢迎拍砖,人身攻击免了。
分享到:
相关推荐
验证哥德巴赫猜想:一个大偶数可以分解为两个素数之和。分解500~1000之间的大偶数。
无人驾驶未来猜想:从高精地图聊起
新iPad猜想:64位处理器风头胜Mini.pdf
新能源汽车行业专题报告:特斯拉自产电池猜想:从收购Maxwell说起.rar
2022年高考历史命题猜想:专题07 西方人文精神的发展(命题猜想) 教师版.docx
数学猜想:基于数学事实的合情推理-反事实推理.docx
智能汽车终极猜想:电动汽车与特斯拉的“噩梦”.pdf
2022年高考历史命题猜想:专题06 资本主义世界市场的形成与发展(命题猜想) 教师版.docx
中国快递行业启示与猜想:迎接供应链“大时代”.pdf
无人驾驶未来猜想:从高精地图聊起-2018040-15页.zip
2022年高考历史命题猜想:专题17 历史上重大改革回眸 教师版.docx
2022年高考历史命题猜想:专题01 中国古代的政治制度 教师版.docx
2014教师资格考试幼儿《综合素质》考题猜想:职业理念(四).pdf
2022年高考历史命题猜想:专题18 近代社会的民主思想与实践 教师版.docx
1157:哥德巴赫猜想 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 14300 通过数: 8298 【题目描述】 哥德巴赫猜想的命题之一是:大于6 的偶数等于两个素数之和。编程将6~100所有偶数表示成两个素数之和。 【输入...
2022年高考历史命题猜想:专题10 近代中国的思想解放潮流与三民主义 教师版.docx
2022年高考历史命题猜想:专题08 近代中国反侵略、求民主的潮流 教师版.docx
2022年高考历史命题猜想:专题11 世界资本主义经济政策的调整和创新 教师版.docx
2021年浙江教师资格考试小学《综合素质》考题猜想:基本能力(二)定义.pdf
汽车行业特斯拉Battery_Day猜想:干电极+预锂化-0227-海通证券-36页.pdf