我们目前使用特征袋方法来索引数百万图像。这个想法是将每个图像翻译成一包功能标记。这个包里可能有100个令牌。我们将这些特征标记映射到唯一的整数,因此每个图像最终都被转换为一个字符串。像'1 3 5 45 ... 565 .. 9176'这些都是300个整数的固定长度字符串。这些整数范围从1 - 10000使用elasticsearch来查找相似的向量或长字符串
我们现在想要使用这个字符串并检索其他非常相似的字符串。在这种情况下,类似的意思是具有最多整数的字符串。
我们目前的索引有大约5000万个文档,其中每个文档都是上述的固定字符串。我们目前只是在编制索引时进行默认的标记化。这导致我们获得大约5到6秒的搜索延迟。我们如何能够做得更好,并将这种延迟降低到一秒以内?
是的,这是做一个更快的搜索的一种方式,但是这将意味着设立单独的基础设施,允许数十请求每一秒。如果没有简单的方法来处理我们现有的堆栈,我们会采用这种方法。 – Cygorger