如题,大概类似手机的全局搜索,一个输入框,输入关键词会关联出很多待匹配项。需求是在系统内( pc )头部增加一个输入框,可以搜索到系统内的很多数据。不知道有没有描述清楚。像这种功能只有 ES 可以实现吗?
如题,大概类似手机的全局搜索,一个输入框,输入关键词会关联出很多待匹配项。需求是在系统内( pc )头部增加一个输入框,可以搜索到系统内的很多数据。不知道有没有描述清楚。像这种功能只有 ES 可以实现吗?
|
ql562482472Jan 30, 2023
1
其实你还可以使用其他支持全文搜索的工具:升级你的 mysql 、用 pg 之类的
同时这种搜索必然有搜索内容、时效上有权衡和优化,作为应用开发者 这不是你跟产品需要考虑的东西么 |
|
JarlZhangJan 30, 2023
2
需求简单的话 solr 就可以支持
|
|
WienJan 30, 2023
3
复杂搜索还是建议无脑上 es
|
|
zhuangzhuang1988Jan 30, 2023
4
lucene 啊, 直接几个 Jar 就好了
|
|
zhangggJan 30, 2023
5
看体量和命中率
量少把相关数据写 sqllite like 都能做 |
|
kingofzihuaJan 30, 2023
6
如果你数据量不大,可以找个第三方对接,比如[algolia]( https://www.algolia.com/)
|
|
xiangxiangxiangJan 30, 2023
7
应该也可以自研吧,没搞过
google 一下 设计一个搜索自动补全系统 ? |
|
realrojeraloneJan 30, 2023
8
手机上的全局搜索是本地和服务端混合搜索,本地只搜索本机内容,远程是一套完整的搜索引擎,只做过远程的搜索,没做过本地的,应该也是一套索引之类的东西,只不过量比较小
|
|
zhuangzhuang1988Jan 30, 2023
9
或者看下这个<JetBrainsTV>的 live code
用 kotlin 做一个搜索。 |
|
10
|
|
linvauxJan 30, 2023
11
上 ES 吧,一劳永逸,lucene 有点太底层了,而且索引也不方便管理
|
|
ccoJan 30, 2023
12
虽然 solr 也可以,但 ES 相对于 solr 更好用一点。
|
|
rockdddJan 30, 2023
14
ES 方便
|
|
honamxJan 30, 2023
15
数据量不大就数据库 like 一把梭,不过迟早要改,早上 ES 早幸福
|
|
edironJan 30, 2023
16
可以用 ES 的即时搜索
``` POST index_name/_search { "query": { "match_phrase_prefix": { "name": "J" } } } ``` |
|
matrix1010Jan 30, 2023
17
不复杂的情况下 pg 的 pg_trgm, mysql 的 ngram parser 都能处理。在语言层面实现 ngram 分词然后存到数据库里也没问题。复杂情况, 比如有很复杂的排序规则可能就只能 ES 了
|
|
limbo0Jan 30, 2023
18
看标题没看懂,是单机搜索还是 web 端服务?
|
|
buliuguJan 30, 2023
19
老实上 ES ,去年做了类似的全局搜索,最后需求各种变化,es 都能去实现。。。换一个别的,功能支持未必有它全
|