1
miniliuke 247 天前
你不会是索引结构是字典树就叫 Trie 树数据库吧......
|
2
buaasoftdavid 247 天前
没有诞生的原因有没有一种可能是因为这是个伪需求?
|
3
bigtang OP 楼上你心目中的 Trie 树数据库是什么样的?
知乎上有个问题:Trie 树非常适合索引结构,怎就没人用于数据库引擎? https://www.zhihu.com/question/643972502/answer/3393671711 |
4
cowcomic 247 天前
之前做过基于 Trie 树的内存级词匹配
感觉 trie 树的构建对于内存的消耗还是挺大的 而且搜索感觉是 Trie 树的逆向使用呢,好奇怎么做的 |
5
bigtang OP @cowcomic 看来研究过 trie:) @buaasoftdavid 有可能是,如果 chatgpt3 不出来,整个 AI 都是“伪需求”
|
6
fakepoet 247 天前 1
小小的鸡毛一下,可以叫 `Trie` 或者叫 `字典树`,但是 `Trie 树` 有点语义问题。
|
7
maggch97 247 天前 via iPhone
额额,只能搜索精确子序列,不知道怎么硬和 ai 扯上关系的
存储也是 26 倍普通结构… |
9
yeekal 247 天前 1
trie 内存占用太大,ElasticSearch 倒排索引跟 trie 不矛盾,如果你把分词粒度调到 1 ,理论上 trie 能检索到的,ElasticSearch 也可以
|
10
shyrock 247 天前
理论上对于离散的数据,也就是搜索词不是紧靠在一起的情况,trie 搜索不到吧。
在 OP 的网页上试了一下,感觉不符合一般的搜索习惯。 比如说正常搜索阿里公司 名叫马云的人,输入阿里 马云就搜不到,实际上这条记录是存在的。 |
13
pkoukk 247 天前
AI 用的是向量数据库....
OpenAI 提供的知识库自训练 embeddings 数据可以直接存进向量数据库里去 https://platform.openai.com/docs/guides/embeddings/frequently-asked-questions Trie 在 AI 里不能说毫无用处,起码也是没有屌用,ana 和 anal 两个词可是天差地别 |
14
bigtang OP |
15
matrix1010 247 天前
10 楼的意思是,比如我想搜 ab OR de OR gh, Trie 是否能做到,是否比倒排索引性能更高?
|
17
bigtang OP @matrix1010 @shyrock 求交集问题是无解的,a 有 10 亿个,b 有 10 亿个,求 a and b, 只能遍历,不要问不可能的问题。
但 ai 解决这种实际问题不难,a 有 10 亿个,加一些背景限制,缩减到 3 万个,遍历就快了。 |
18
shyrock 247 天前
|
19
maggch97 247 天前 via iPhone 1
我只觉得你的数据结构知识学的很一般。首先 trie 做存储并不是什么特立独行的想法,每个刚学数据结构的人都会觉得这个结构简直无敌,非常适合做数据库。
但是为什么这么简单的结构,看起来这么 work 的想法还没有成熟的项目应用呢。聪明的人知道去搜一下前人的讨论,“固执”的人会真的搞出来并强行推销给大家,不过并没有人接受就是了。 |
20
maggch97 247 天前 via iPhone
我觉得你既不懂数据结构,也不懂数据库,更不懂 AI
|
21
bigtang OP @shyrock 你说的是 TF-IDF 还有 pagerank 这些? tanglib 目前只做了半个解决方案,ai 与 tanglib 之间可进行多次交互,发现关键词量太大继续限定,而百度以及原来的搜索必须一次给出结果,其实这些方法都很大概率不可靠,很多时候明明知道有百度就是找不到,这种时候不少吧?
|
22
nomagick 247 天前
字符精确匹配才是真正的小众需求。。。
|
26
caixiangyu17 246 天前
其实好不好用,拿数据说话就好了。来相同的大数据,做一个压力测试瞧瞧,数据直接放上来,地下就不是质疑的声音,而是膜拜大佬了。现在每个性能完不完爆都是嘴说的,有什么意义了?
|
27
victorc 245 天前
空间浪费太严重了,我 10 多年前做搜索 输入框 suggestion 的时候,最开始用 trie ,非常消耗空间,后面改成常规 倒排索引实现(有序数组+二分法查找),速度/空间 都满足
|