数据是普通的文本数据,字符串匹配就是不分词根据输入直接搜,类似记事本那种。
如果用传统数据库匹配速度有点差,类 ES 的好像分词的问题不太好处理,还有没有别的更优雅的搞法呢
如果用传统数据库匹配速度有点差,类 ES 的好像分词的问题不太好处理,还有没有别的更优雅的搞法呢
1
3dwelcome Dec 15, 2021
建索引啊,还能有什么办法。
要查找速度上去,那就要看着这索引,建的好不好了。 至于具体算法,那就是 bloom filter 魔改。 |
2
dbsquirrel Dec 15, 2021 via iPhone
让我想起了这个
https://v2ex.com/t/814478 |
3
murmur Dec 15, 2021
具体场景是什么
什么叫普通的文本数据 如果是内部的数据库慢就慢呗 不能违背物理定律 如果是商业的 可以对热门词汇缓存 |
4
qping Dec 15, 2021
百万条都加载到内存里,怎么匹配都快
|
5
dddd1919 Dec 15, 2021
ES 分词不好处理?中文上 IK 啊
|
6
changnet Dec 15, 2021
精准匹配?用个字典树或者 acism ,百万的词库匹配起来都是毫秒级的,这在关键字过滤经常用
|
7
IsaacYoung Dec 15, 2021
tire
|
9
lhx2008 OP 不能分词的数据,现在就是直接字符完全匹配,类似 mysql 的 like %xxx%
|
10
lhx2008 OP 小项目才能这么完,从数据库同步数据开销也很大的
|
11
abersheeran Dec 15, 2021
radix tree 完事,只要内存能完全放得下,那搜索速度就和你数据量没什么关系。
|