轻量级的全文检索选哪个? 50 万内。

2020-08-21 18:03:09 +08:00
 wzw

目前只有 20 万条商品数据,python 写的后端 api 。

目前用 whoosh,用得不爽。

有什么全文搜索的推荐?
-可以直接用内存最好。
-Golang python 都行

2690 次点击
所在节点    问与答
12 条回复
wellsc
2020-08-21 18:07:24 +08:00
Os.popen(‘grep -niR 关键字’)
wzw
2020-08-21 18:13:07 +08:00
@wellsc 文本在数据库,用 jieba 分词
jonah
2020-08-21 18:26:28 +08:00
iConnect
2020-08-21 19:44:55 +08:00
es 是重了一点,那也是内存多消耗一些,其他又不会很重。
damngood
2020-08-21 19:58:37 +08:00
golang 有个叫 bleve 的.
我自己没用过,不过在一些开源项目里面看到过.
ddup
2020-08-21 20:09:30 +08:00
lucene,想降低内存消耗的话,推荐用点 .net 版的 lucene.net ,Java 程序的内存消耗会高一些。
然后包装为 REST API 。
louettagfh
2020-08-22 21:08:29 +08:00
内容需要持久化吗
wzw
2020-08-23 05:00:25 +08:00
@louettagfh 不需要
wzw
2020-08-23 05:00:57 +08:00
@louettagfh 持有化部分放在数据库 ssdb 了
nickchenyx
2020-08-23 15:12:32 +08:00
redis lab 有一个 redis 的实现,可以试试你这个少量的 https://redislabs.com/redis-enterprise/redis-search/
KalaSearch
2020-08-28 00:33:04 +08:00
如果是商用,有预算可支付,面向国外用户考虑 Algolia,接 API 或者直接用 SDK 就行,Python Go etc 都有
如果同样是商用且有预算,面向国内用户,考虑卡拉搜索,接 API 或者直接用 SDK 就行,目前有 Python 和 JS 的 SDK

如果就是学习用,考虑深入研究下 Lucene 和 Elastic Search

你的开线程像 API 一样提供服务,事实上就是个穷人版的 ES :D

另外不推荐 Whoosh,已经不太活跃了
patagonia111010
2021-11-19 12:26:34 +08:00
@wzw 最后怎么解决的?

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

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

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

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

© 2021 V2EX