做了个小站 Zzo,有几点迷惑,真心请教

55 天前
 DomenicCarter

最近做了一个 AI 目录站:Zzo AI Tools Directory ,网址:https://zzo.ai 初步开发完一版,但还存在很多问题,真心请教一下:

  1. 数据库,目前使用的事 CloudFlare 的 D1 数据库,这个数据库有很多局限性(是 SQLite 改版),比如说,没有事务等,想换一个数据库。大家都选用什么数据库,有什么稳定便宜的数据库推荐吗?最好是海外的数据库服务商。(因为应用是部署在CloudFlare 的 Pages 中,边缘节点不固定,国内数据库大概率比较慢或超时);另外:还有个问题:数据库有支持公网的服务商吗?求推荐,感谢。
  2. 全文检索:当前网站还没有检索的功能,目前看了直接 sql 的 like 模糊匹配、ES 全文检索、向量搜索三个方案;其中 like 匹配最简单,但是不够好。ES 好一些,需要计算能力高一点(请教一下:跑这个 ES 具体需要什么配置);向量搜索需要算力最高:embeding 需要算力(或需要 api ,要花钱)、向量数据库也需要较高算力。 请教一下各位大佬,有什么好的方案做全文检索?
  3. KV:当前可能用到 KV 的地方就是每个 Tag 下收录记录的数量,目前这部分功能也没做。这个是不是直接部个 Redis 就行~还有别的穷鬼方案吗?
  4. 看收录网站的流量统计的 api ,这个有推荐吗?我暂时没找到。想给每个详情页里面加个看流量的功能。
  5. 相似推荐:这个有什么好的方案吗?目前想到的是:相同 tag 做推荐、或者向量检索推荐。
  6. 核心竞争力:如果你是用户,最需要的、当前别的网站上没提供的功能是什么?

列的问题有些多,新手东搞西搞,磕磕碰碰,遇到问题也比较多,注意解决中,求各位大佬赐教,感谢。

2866 次点击
所在节点    程序员
22 条回复
falcon05
55 天前
导航站为什么要用事务、全文检索
流量统计倒是可以加个 upslash 的 redis ,因为 kv 各节点数据同步需要时间。
DomenicCarter
55 天前
@falcon05 事务暂时倒是没有到场景。全文检索有最好,没有也想做个 title 、description 联合的搜索功能。感谢推荐,我去看看 upslash 的 redis
june4
55 天前
就导航站这几条数据量,搞什么 es ,直接把全部文本放在内存中用编程语言内置搜索都行
DomenicCarter
55 天前
@june4 目前是多语言,收录一个站,就有 9 条数据产生,慢慢可能会多,应用是在 cf 的边缘节点,好像有算力限制,怕这个方案后续会超时。
abersheeran
55 天前
数据库可以换成 mongodb ,存储 500MB 以下免费,这样你的存储、文本搜索、向量搜索都可以解决了。Tag 收录数量直接聚合。流量统计换 Cloudflare analytics ,每个月千万次以下免费。等你这个站过了免费额度,你应该发财了。
chesha1
55 天前
这个里面解释了 cloudflare d1 为什么不支持事务( https://blog.cloudflare.com/whats-new-with-d1/),也许你可以用 durable objects 自己在软件层面做一个“事务”

或者直接换数据库服务商,比如 Supabase ,neon ,这些都有公网服务,cloudflare d1 这种只能在内网用的反而是少数

kv 可以用 cloudflare 的 kv 吗?我没试过,但是你都用 cf 了,索性用全家桶算了
DomenicCarter
55 天前
@abersheeran 感谢建议,你说的这个 500M 下免费,这是什么平台吗?
DomenicCarter
55 天前
@chesha1 感谢回复,你说的 durable objects 我研究了,我用的 Cloudflare Pages 托管,不是 Worker ,我研究了 2 天,没搞明白怎么在 Pages 中使用 durable objects 。可能太菜了吧。嗯嗯,感谢推荐,我看下 Supabase 和 neon 。CF 的 KV 我倒是还没试用呢,回头试试。现在主要是不想和 CF 搞得太紧密了,想其他技术尽量通用些,万一后续需要自部署,也好切换。
chesha1
55 天前
@DomenicCarter #8 supabase, neon 只是我举的例子,其实还有很多选择,你可以去 free-for.dev/ 上看 Managed Data Services ,找关系数据库和 kv 的服务商

不过这些太多了,要是觉得挑选太麻烦,你可以去 drizzle 的文档( https://orm.drizzle.team/docs/get-started-postgresql ),在 Get started 这部分里,postgresql ,mysql ,sqlite 的部分文档的最开始,会列出几个常用的数据库服务,这些能被 orm 框架提到,那肯定是比较流行的
DomenicCarter
55 天前
@chesha1 感谢感谢,我去看看~
abersheeran
55 天前
@DomenicCarter #7 mongodb cloud ,他们自己做的云服务,我在用,体验还不错。
iceprosurface
55 天前
关系型数据库的话可以考虑 tidb cloud ,查询量不大的话应该也够用
karnaugh
55 天前
首先事物应该是用不上的,那就不用考虑

然后关键词检索直接 like 就够了,还犯不上用 es ,等你真到卡的那一天再换也来的及

向量搜索主要是语义化搜索效果,相比之下,深入到应用场景,也许只用向量检索也可以,因为用户并不知道要搜索什么具体的词,只是知道要搜一些功能的网站

最后,我觉得你少折腾点技术,多好好想想产品吧,作为一个用户,真的需要在详情页看这个网站有多少流量吗?

可以看看 app 应用市场,看看应用市场的详情页里到底放了啥
DomenicCarter
55 天前
@abersheeran 好的好的,感谢推荐
DomenicCarter
55 天前
@iceprosurface 好的,我去看看~谢谢
DomenicCarter
55 天前
@karnaugh 感谢卡诺大佬,说的很对,但技术人就是一不小心就想着搞技术,哎,这点得改。
karnaugh
55 天前
@DomenicCarter 嗯,人生苦短,单打独斗的时候更是如此,程序员花太多时间在开发上,如果是出于兴趣那无可厚非,但如果你是为了赚钱的话,这么搞就不行

(比如本来我也打算弄导航站,ai 域名都买了,真贵,结果因为兴趣做了两个月游戏伤害计算机😂,分币不赚,就是玩
tf141
55 天前
3 字母 AI 域名不便宜吧,我也想买一个 AI 域名,可以推荐一下在哪买吗?
gongquanlin
54 天前
搜索可以用 zincsearch ,速度还可以,部署也简单轻量,替代 es
DomenicCarter
54 天前
@karnaugh 嗯嗯,大佬看的明白~确实是这样,更何况自己单打独斗的,同时搞不了那么多东西~

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1076966

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX