我有一个Web应用程序,用作另一个应用程序的API,可以进行大量的数学计算。与scipy.spatial.distance.cdist一样,这些计算大多数都包含在矢量方式的相似度计算中。
问题是这些计算是由外部应用程序触发的,该应用程序输入了一组向量,我想为其计算与某些(百万)个预先计算的向量的相似度。因此,基本上我需要一种方法来尽可能快地执行这些相似性。我当前的解决方案是将矩阵存储在Redis上,并在每一批新的向量到达时加载它,这很慢。您是否知道一种快速解决方案,可以存储大矩阵并可以对其进行基本矢量运算(加法,乘法,归一化)?
到目前为止,我已经找到了合适的ElasticSearch和Spark MLlib。但是在寻求解决方案之前,我想知道我是否没有错过某些人可能已经意识到的显而易见的解决方案。