请教一个关键词检测问题.

2020-12-15 17:59:06 +08:00
 molika

某些用户会关注一些关键字 如:西瓜 牛奶 香蕉 等,大概如下结构:

{'key_1':[u1,u2,u3,u4]}
{'key_2':[u4]}
{'key_3':[u2,u3,u4]}

恩,其实就是一个 key 对应多个用户.

如果以用户角度来看,其实就是:

{u1:[key_1]}
{u2:[key_1,key_3]} ....

现在有大量文本需要检测是否包含上面所有的 key.如果包含 就取到对应的 key 与 id[ux] 这种数据应该怎么存储比较合适呢并检索? 如果有可用的工具 最好越轻越好.. key 大概 2w-5w 备注:文本大概 100 字以内

2709 次点击
所在节点    Python
25 条回复
mosliu
2020-12-16 10:40:24 +08:00
看上去是索引与倒排索引,第一反应是 es 下一个反应是图数据库。。
然后仔细看看 是要在一段文本中查询指定 key 的算法。

可以 key 生成树,然后文本中,按树节点取匹配吧。
brezp
2020-12-16 11:49:57 +08:00
es 也不是很重阿 , 如果你只有这个业务用到 ES ,完全起一个单实例的 ES 来做就可以了, 你想这么多方案, 部署个 ES 和建几个索引都不用一上午
brezp
2020-12-16 11:53:20 +08:00
我看你这个像个 ETL 多一点 , 你主题写的只是一个规则, 来什么来存都可以吧
molika
2020-12-16 13:37:37 +08:00
@brezp 主要是做大量 文本命中 key 这个事情.
molika
2020-12-16 13:47:40 +08:00
各位大佬们 已经 ac 自动机+ kv 处理了

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

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

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

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

© 2021 V2EX