我将使用nodejs服务器反应web应用程序。除了常规用户配置文件等常规内容之外,我还需要为下面列出的目的提供最有效和可扩展的解决方案。我知道我需要一次又一次地重写一些部分,但DB的选择是基本的,所以我希望我能选择合适的部分。
全文搜索。我将拥有这个json结构:
items: {
[guid]: { // txt
parent: [guid],
path: '/root/dir/subdir/',
created: timestamp,
updated: timestamp,
access: 'rwa', // rwa/rw-/r--/---
owner: user_name,
title: 'string',
text: 'string',
comments: {...}
},
},
Items
可能包含数百万条记录。每个记录的text
属性可能包含很少的单词,比如100k个字符。用户将不断更新并不断增长此记录。
我需要根据title
和text
属性执行搜索。我将不得不使用path
属性来搜索具有特定路径的项目。例如:“查找前title
或text
包含some words
的前20条记录,path
以/root/dir
开头title/path/created/updated
属性”
已查看的状态。我需要的下一件事是将每个已查看的网页标记为“已查看”,以便为其显示网址。显然,用户每次可能会浏览数千页,可能会有很多用户。我猜“绽放过滤器”可能对我有所帮助,但我不知道,但是,我将如何实现它。
新闻Feed。嗯,这并不是什么不寻常的,定期新闻订阅,订阅,推荐和推荐。我喜欢here所描述的解决方案。
谢谢你的帮助!