关于大量文本搜索的功能要怎么设计

2020-06-11 01:57:17 +08:00
 Philippa

背景描述:目前有 10 万份到 100 万份单独英语文本,需求是首先抽取每个文本的每个单词出来,二是搜索时能够找出所有包含该关键字的文本出来,并能够对应到行。

当前想法:的方案是 elasticsearch,分词的话找个 python 库处理一下,有点像个迷你的搜索引擎,但不确定是否需要那么重量级的工具。

请教:有什么简单又直接又省运维成本的方案?非工作项目,所以全部上云,能不要内存型数据库就不要,能上 serverless 就上 serverless,以降每个月成本压到最低。Java 独有的技术线上不了,Python 、Go 和 JavaScript ( Node )都可以。谢。

4134 次点击
所在节点   搜索引擎技术研究
7 条回复
noqwerty
2020-06-11 03:55:11 +08:00
https://github.com/valeriansaliou/sonic
这个可以考虑一下?
Philippa
2020-06-11 04:30:17 +08:00
@noqwerty 十分感谢!里面介绍使用内存和 cpu 都很少,可运行在 5 刀的服务器上,另还有多种语言的 client 包,非常合适,明天就试试看:)
love
2020-06-11 07:27:56 +08:00
mysql?
rogwan
2020-06-11 08:49:29 +08:00
英文不需要分词库,默认一般就可以吧?
update
2020-06-11 09:03:04 +08:00
manticoresearch(基于 sphinx)
sphinx
Philippa
2020-06-12 01:41:01 +08:00
@update 谢谢,这个看起来很重,配置有点多
Philippa
2020-06-12 02:01:17 +08:00
@love mysql 数据量大了可能撑不住,撑得住也要考虑反应时间,除此之外还有扩展是否容易。

@rogwan 英语有分词库,而且时态也需要考虑。

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

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

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

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

© 2021 V2EX