MarkZuckerberg
V2EX  ›  问与答

“百万条内容”等级的网站架构如何实现?

  •  
  •   MarkZuckerberg · Dec 29, 2019 · 3251 views
    This topic created in 2503 days ago, the information mentioned may be changed or developed.
    最近接触到一个外包,正在跟甲方沟通,双方还没签合同。
    甲方是做出版行业的,在国内外、尤其是国外有一些行业资源。
    想做一个文献检索查询网站。可以比喻作,国外版的知网、万方,垂直行业的 Google Scholar。
    他们自己有些数据库,然后合作方也提供一些数据。内容无非就是:题目、作者、刊名、摘要等。原文( pdf )等文件不会存储在自己的服务器,都存在第三方的合作方网站上。本地服务器只留一个链接过去就行。
    目前他们自己有 300-400 万条数据。平均每年要增加约几十万(不到 100 万)条数据。合作方(第三方)有 api 的话,直接用就行;没有 api 就只能合法爬过来。
    因为行业不算大众化,所以前期预计每天约 5k-10k 访客。甲方并不靠这个网站盈利,只希望在行业内布局。
    参考:Google Scholar 和百度学术。
    考虑到未来扩展的可能性,请问这个网站的前后端应该如何架构才能更高效运转?
    有没有愿意合作这个项目的?我做总包签下这个项目,然后大家一起来做、一起分钱。
    18 replies  •  2019-12-30 10:54:57 +08:00
    airyland
    airyland
    Dec 29, 2019 via iPhone
    1
    百万条和每年增加几十万条,1 万多的访问量,这个量级其实不需要怎么考虑架构,几千万内做好索引数据库都能轻松扛。
    yixiang
    yixiang
    Dec 29, 2019
    2
    这个数据量不需要啥特别优化吧,正常做应该就能支撑。
    wysnylc
    wysnylc
    Dec 29, 2019
    3
    应届生都能做,还总包分钱........一人一块?
    jugelizi
    jugelizi
    Dec 29, 2019
    4
    想多了 百万条而已
    破机器都能扛住
    用不着优化
    akira
    akira
    Dec 29, 2019❤️1
    5
    百万条内容随便啥数据库都可以的,不需要啥特别的架构设计什么的
    MarkZuckerberg
    MarkZuckerberg
    OP
    Dec 29, 2019
    6
    @wysnylc [捂脸]总包不是“一人一块”的概念…

    是类似我以 100 块,跟甲方签下这个项目合同,然后雇你开发,跟你单独签合同。可能你拿 1 块,我拿 99...
    murmur
    murmur
    Dec 29, 2019
    7
    百万条内容有索引都不需要特殊优化,要是百万访问还可以聊聊
    akira
    akira
    Dec 29, 2019
    8
    @wysnylc 应届生还真做不了。。别看东西少,坑还是蛮多的
    MarkZuckerberg
    MarkZuckerberg
    OP
    Dec 29, 2019
    9
    @airyland
    @yixiang
    @jugelizi
    @akira
    @murmur
    谢谢大家。听起来似乎难度不大。我找人试一下 :-)
    PEPEXXX
    PEPEXXX
    PRO
    Dec 29, 2019 via iPhone
    10
    @MarkZuckerberg 找我啊缺钱啦
    cijianzy
    cijianzy
    Dec 29, 2019
    11
    看作者 id 就觉得作者应该挺有前途的。
    areless
    areless
    Dec 29, 2019 via Android
    12
    我 x,楼上的一个个都在搞笑啊。这个项目不使用 sphinx,lucene 这种外部索引必挂。而且 100 万本书全部建立索引,文件很大很大很大很大很大~~~你先建把 100 万本书的索引建出来试试吧。最关键点是--设计出让甲方满意的搜索结果~~~现在通用的分词系统不能达到甲方要求怎么办?你自己去搞分词系统吗?
    find
    find
    Dec 29, 2019 via iPhone
    13
    可以找我啊,专搞搜索 好多年了
    agdhole
    agdhole
    Dec 29, 2019
    14
    需要索引文档内容吗?如果不要确实不复杂
    yufeng0681
    yufeng0681
    Dec 29, 2019
    15
    Redis 缓存可以不急着上,ES 搜索引擎要上;
    用户发起的都是模糊搜索,可能是多个关键字搜索,数据库十万级别以上的模糊搜索,响应无法满足要求;
    只能把你支持的几个字段的值,存到 ES 里面, 列表展现搜索结果,并显示部分摘要信息;
    详情页则是唯一索引条到具体某个文档,唯一索引能保证性能;
    b7cn
    b7cn
    Dec 30, 2019
    16
    自己建立索引 跑的话 并发大 可能会搜索速度比较慢,
    我之前解决网站问题的时候 找到了以下几个 API 比较方便的解决这个问题 你可以看看。
    https://cloud.tencent.com/product/tcs
    https://www.aliyun.com/product/opensearch?spm=5176.8006371
    https://data.aliyun.com/product/elasticsearch?spm=5176.8006371
    MarkZuckerberg
    MarkZuckerberg
    OP
    Dec 30, 2019
    17
    @parorisim
    @cijianzy
    @areless
    @find
    @yufeng0681
    @b7cn
    谢谢大家!目前还在跟甲方接触,争取接下这个活。V2 上卧虎藏龙,都是高手!
    MarkZuckerberg
    MarkZuckerberg
    OP
    Dec 30, 2019
    18
    @agdhole 不需要搜索索引文档内容。只需要搜索对应 id 的题目、作者、期刊、等信息。
    可以参考:Google Scholar 和百度学术的功能。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1296 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 44ms · UTC 19:51 · PVG 03:51 · LAX 11:51 · JFK 14:51
    ♥ Do have faith in what you're doing.