想问个问题传统 Java 站点搜索一般是怎么处理的

10 天前
 cobbage

0.因为没有实际的线上经验想了解下线上的技术栈(针对 java 的,网上资料很少)。

1.之前一段时间学了点基础,但也有很多问题没解决。

传统的:分词(切词器)+索引(数据结构+索引文件处理)+打分( BM25)

疑问:常见的错别字+同义词类的处理 索引的更新问题实时和非实时一般都是怎么抉择处理的

2.还有就是现在的搜索感觉多多少少都会和机器学习挂点勾(学机器学习的话精力和理解跟不上了)

3.单纯看点 elasticsearch 是否能满足一个垂直站点的需求

1053 次点击
所在节点    Java
6 条回复
fredcc
10 天前
select * from xxx where content like '%aaa%';
cobbage
10 天前
@fredcc 用全文检索吗
liangdi
10 天前
elasticsearch/opensearch 当然可以满足,机器配置够的话,这是最简单的方案,性能,功能,扩展性都满足
cobbage
9 天前
@liangdi 👌🏻
ntedshen
9 天前
说起来我上 v2 最初好像就是为了这个事的来着。。。
N 个前的前司用的 coreseek 已倒闭
elk 全家桶主要是显著的供过于求
mysql/mariadb 的 innodb 分词不怎么适配 cjk 大区
目前在用岛国的 groonga 全家桶,pgroonga 和 mroonga 都是开箱即用。。。
不过 groonga 基于的 mecab 现在也是十几年没更了,只能说堪用。。。
cobbage
8 天前
@ntedshen 谢了,后面了解下

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

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

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

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

© 2021 V2EX