关于全文搜索引擎的选择,小型后端项目用 Elasticsearch 合适吗?

2021-01-09 20:20:31 +08:00
 yodhcn
楼主今天刚了解到 "全文搜索引擎" 这一概念 —— 传统的关系型数据库,比如 MySQL,一般不适合做关键词搜索,关键字搜索最好配合全文搜索引擎使用。

在网上搜索 "全文搜索引擎" ,大家推荐的都是 Elasticsearch,一个企业级的搜索引擎。

实际上,楼主正在开发一个类似 emby 或 plex 的个人媒体服务器,数据量自然不会太大,于是就选择了 sqlite 这一文件型数据库,来存储视频 /音频的元数据。
这种级别的后端应用,自然用不到 Elasticsearch 这么重的工具,也没有数据分析的需求,但还是要解决 "搜索元数据中的关键词" 这一问题。

所以,想向大家请教 2 个问题:
1. 对于小型后端项目,有哪些适合的比较轻量的全文搜索引擎?或者其它解决关键词搜索的方案?
2. 那些博客应用、小型论坛应用都是怎么解决全文搜索的?
9137 次点击
所在节点    Elasticsearch
51 条回复
cs3230524
2021-01-09 20:23:59 +08:00
合适
codehz
2021-01-09 20:36:29 +08:00
(是否选用 sqlite3 的唯一考量因素是有没有横向扩展的需求,没有的话,即使全文搜索这种需求也可以在 sqlite3 里做。。
比如用 sqlite3 内建的 fts5(中文的话比较麻烦,但是也有能用的第三方分词,可以自己整进去)
GoLand
2021-01-09 20:38:11 +08:00
做好 seo,然后直接用谷歌搜索,类似 v 站的搜索功能。
340244120w
2021-01-09 20:45:25 +08:00
Es 基于 lucene 的 所以可以考虑 lucene
beyondex
2021-01-09 20:47:25 +08:00
合适。如果是 .NET 可以用 Lucene.NET 如果是 Java 可以用 lucene,但是用起来其实比直接用 ES 写代码要复杂一些。
12101111
2021-01-09 21:13:36 +08:00
newbieRenew
2021-01-09 21:16:01 +08:00
由第三方全文搜索的工具,你搜一下
zhuangzhuang1988
2021-01-09 21:16:59 +08:00
合适
xcstream
2021-01-09 21:18:47 +08:00
不合适 内存占太大
crynocry
2021-01-09 21:43:36 +08:00
尝试一下 MySQL 全文索引
shuangya
2021-01-09 21:46:19 +08:00
不合适。小型直接 mysql 就够了。
mysql 512M 内存就可以跑起来。
es 没有 2G 就别跑了。
idblife
2021-01-09 22:05:32 +08:00
数据量小的话不合适
mysql 查呗,小数据量全表也没事
whitehack
2021-01-09 22:54:57 +08:00
niubee1
2021-01-09 22:56:42 +08:00
数据量不大的话可以试试 Redisearch
leafre
2021-01-09 23:04:19 +08:00
直接 lucene
love
2021-01-09 23:46:57 +08:00
杀鸡用牛刀了,之前有人推荐过一个很轻量的也比较流行的,忘了叫什么搜一搜可能搜到
DoctorCat
2021-01-10 00:17:02 +08:00
是否合适,重点是要看成本。
anUglyDog
2021-01-10 02:14:29 +08:00
MySQL 内置中文分词引擎 ngram
CODEWEA
2021-01-10 02:43:25 +08:00
不谈实际,空谈技术都是扯淡,你不得先确定需求吗?
izgzhen
2021-01-10 04:21:06 +08:00
AWS 上的 ES 成本还是比较弹性的,不知道其他☁️如何

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

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

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

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

© 2021 V2EX