虽然这玩意相对比如其它东东,比如point值来说,简单得多。
但还是有一些比较绕的地方,比如多样性检查那里,
可以看这里https://amazingkoala.com.cn/Lu ... 25BA/
看过之后,就会豁然开狼了。
ES(或者说Lucene)里面的knn应用了hnsw结构,牺牲了一些准确性来保证效率。
也就是说,它并不是百分百准确的。
当维度越高时,会表显得越明显。
有时我并不在乎效率,慢一点也可能接受,
但我要保证100%准确(在当前的“近函数”规则下)
如果实现这样一个ES功能, 应该怎么做呢???
另外,有没有人注意到一个事情,
以前版本knn是作为一个单独模块的,
在最新版本中,它是集成到了ES内部(没有这个模块了)
但还是有一些比较绕的地方,比如多样性检查那里,
可以看这里https://amazingkoala.com.cn/Lu ... 25BA/
看过之后,就会豁然开狼了。
ES(或者说Lucene)里面的knn应用了hnsw结构,牺牲了一些准确性来保证效率。
也就是说,它并不是百分百准确的。
当维度越高时,会表显得越明显。
有时我并不在乎效率,慢一点也可能接受,
但我要保证100%准确(在当前的“近函数”规则下)
如果实现这样一个ES功能, 应该怎么做呢???
另外,有没有人注意到一个事情,
以前版本knn是作为一个单独模块的,
在最新版本中,它是集成到了ES内部(没有这个模块了)
0 个回复