素,所以我停掉了。nostr 这种应用场景,还是选能自己规划索引的 db 比较好

Reply to this note

Please Login to reply.

Discussion

你要是有兴趣可以尝试 Key-Value + 放大写 (索引) 方案, 我目前基于这个方案使用 Golang + Badger 得到了不错的成绩QAQ

不过目前我觉得 NIP-50 才是中继实现最难的一步, 特别是中文.

英文可以用空格分词 word, 很简单就搞定了, 但是中文不用 jieba 类的分词引擎把每个字都当作一个 token 一句话的 token 量就爆炸了, 但是用了分词引擎写入速度又会被大大削弱...

写入速度不是太大的问题,搜索结果并不需要那么实时。搜索的问题是成本太高了,很难用爱发电

如果你用 rust 写的话,推荐一个分词器:https://github.com/meilisearch/charabia 组合了不同语言的主流分词器,用起来省事。也可以尝试用大模型的分词器搭配向量数据库做搜索

谢谢! 不过我试过用嵌入模型量化然后用向量搜索再使用字串模糊匹配, 但是嵌入成本太高了...短期我打算向电报学习, 让用户主动打 tag 或者 打 字 带 空 格 来实现中文搜索:bili_fantastic:

先不要想着成为大中继🌝数据不会很多的 边跑边优化 您那机器配置那么高游刃有余

我就是看了 strfry 这些 key value 解决方案后放弃了我的项目哈哈,确实更优雅 😌 打不过加入了