9

全文搜索(full text search)有什么好一点的低成本解决方案?

 1 year ago
source link: https://www.v2ex.com/t/899924
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

V2EX  ›  程序员

全文搜索(full text search)有什么好一点的低成本解决方案?

  ericgui · 9 小时 18 分钟前 · 2881 次点击

elastic search ,自己搭建太麻烦了,买服务太贵

实在不行只能买服务了,我可没那功夫搭建

彦祖们能否有什么推荐么

数据量很小,目前只有 15K 条数据,即便将来增长,也不会超过 1M

45 条回复    2022-12-04 18:19:33 +08:00
Chad0000

Chad0000      9 小时 15 分钟前 via iPhone

我之前也是买官方服务但比较贵,后来我 docker 自建( k3s 托管),挺稳定的,还便宜。

我数据不多,主要是用来搜索电商产品。
ericgui

ericgui      9 小时 13 分钟前

@Chad0000 诶,有道理哦
likunyan

likunyan      9 小时 11 分钟前

algolica 免费的够吗
ericgui

ericgui      9 小时 10 分钟前

@rushssss 谢谢,sonic 这个看着很不错
leavic

leavic      9 小时 6 分钟前

搞错了,我还以为你要的是桌面搜索。。
ericgui

ericgui      9 小时 5 分钟前

@likunyan 不够,恰好很尴尬,我这边有不到 2 万条数据,algolica 免费的只能 1 万,但 algolica 确实比 elastic search 便宜多了
kran

kran      8 小时 38 分钟前 via Android

这么小的数据量,应该不需要这些服务。自己在内存里建索引就好吧
ericgui

ericgui      8 小时 37 分钟前 via Android

@kran 能否给个关键词?我搜搜怎么做
demoshengxw

demoshengxw      8 小时 36 分钟前 via iPhone

es 用 docker 很快就能部署上啊,全文搜索 es 还是好用
optional

optional      8 小时 35 分钟前 via iPhone

kran

kran      8 小时 3 分钟前 via Android

@ericgui 自然语言处理,关键词提取,反向索引。
如果用轻量级服务,可以看看 arangodb ,支持全文检索,并且可排序
pengtdyd

pengtdyd      8 小时 0 分钟前

直接用 mysql 不行吗,我感觉优化优化也将就用。
dcoder

dcoder      7 小时 44 分钟前

@ericgui
维护 ES 就是麻烦, 用 docker/k8s 的话...得用 stateful container 来存 ES 的数据...??

你不关心多机 scale 问题的话, 可以先试试单机 PostgreSQL, 它也有 full text search
reeco

reeco      7 小时 43 分钟前 via iPhone

pg 是你最好的选择
DTCPSS

DTCPSS      7 小时 32 分钟前

Postgresql
kidlj

kidlj      7 小时 2 分钟前

Postgresql
dzdh

dzdh      6 小时 50 分钟前

强烈安利:

- PostgreSQL 自带,勉强够用

- 想要类似 ES 的,轻量的,支持 avg/cnt/sum/group 等,中文友好,支持海量数据(<1e 内),不是一股脑全塞到内存的。请移步 https://zincsearch.com/

- 少量数据(十几百十来万不差钱的) https://www.algolia.com/
sdshiyan2005

sdshiyan2005      6 小时 44 分钟前

sqlite 的 fts5?
czjxy881

czjxy881      6 小时 33 分钟前

https://nasuyun.com/ 有 6g 免费空间的 Serverless es
cweijan

cweijan      6 小时 28 分钟前

es 有哪里麻烦的, 你别搞集群, 直接单机起一个就行
garfeildma

garfeildma      6 小时 23 分钟前

Postgre, MySql, Sqlite 都支持 full text search ,如果已经用了这些数据库直接用应该够了
aru

aru      6 小时 22 分钟前

ES 直接用 docker 整一个单实例就行了,很简单
Iamsonny

Iamsonny      5 小时 59 分钟前

elastic 不是 click 就可以运行的么~~~
dusu

dusu      5 小时 12 分钟前 via iPhone

楼主的需求下 manticoresearch 吊打一切
sunnysab

sunnysab      5 小时 2 分钟前   ❤️ 1

pg 的中文全文检索资料有点老、少,按理说是够用的。之前折腾过一段时间,按照步骤一步步来,但是自定义分词始终无法生效,就弃坑了……

sonic 和 meilisearch 都是 rust 写的工具,前者只提供一个 index 服务。感觉他们不错。
同蹲一个解决方案。
beneo

beneo      4 小时 53 分钟前 via iPad

有无 go 语言解决方案,带支持中文分词 go 语言解决方案
liaohongxing

liaohongxing      4 小时 37 分钟前

go 的用 zinc , rust 用 meilisearch (官方支持中文,用的 jieba 分词) , java 的 es

es 效果好 , 但是 CPU/内存占用大,4G 左右吧 。轻量的可以用 meilisearch , 毕竟官宣支持中文。
hackpro

hackpro      4 小时 14 分钟前 via iPhone

Devonthink
em70

em70      3 小时 59 分钟前

用 mongodb 储存, 给要搜索的字段创建 TEXT 索引, 支持 TB 级数据量,有大内存就行,其他什么都不用做,全文搜索速度很快,不需要排序的搜索场景都可以满足
lxwlxc

lxwlxc      3 小时 46 分钟前

这么小的量,直接用 Lucene ,都不需要部署服务。ES 也是基于他的
eudore

eudore      3 小时 37 分钟前

postgress mysql 自带的倒排,或者用开源简化版的全文检索引擎。
herozzm

herozzm      3 小时 28 分钟前

docker 部署就算是集群,也是几条命令就全部搞定了
coymail

coymail      2 小时 18 分钟前

直接 Lucene 一把梭
dayeye2006199

dayeye2006199      2 小时 16 分钟前

数据库自己带的全文搜索
shelken

shelken      1 小时 43 分钟前 via iPhone

<a href="https://smms.day/image/6vDEFjVZ9tQcMri" target="_blank"><img src="https://s2.loli.net/2022/12/04/6vDEFjVZ9tQcMri.jpg" alt="IMG_0072.jpeg"></a>
haonie

haonie      1 小时 17 分钟前

windows 本地搜索呢?有推荐的开源项目吗? win 自带搜索不好用,listary 、everything 又不能搜索内容,其他的搜索软件也太臃肿,都没有比得上苹果的。
yazinnnn

yazinnnn      4 分钟前

自建 es 麻烦在哪里....数据量不大直接跑容器里吧
ksc010

ksc010      3 分钟前

ES 用 docker 很容易 一个 docker-composer 配置文件就可以搭建一个集群

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK