The approximate nearest neighbor search (ANNS) is a fundamental and essential component in data mining and information retrieval, with graph-based methodologies demonstrating superior performance compared to alternative approaches. Extensive research efforts have been dedicated to improving search efficiency by developing various graph-based indices, such as HNSW (Hierarchical Navigable Small World). However, the performance of HNSW and most graph-based indices become unacceptable when faced with a large number of real-time deletions, insertions, and updates. Furthermore, during update operations, HNSW can result in some data points becoming unreachable, a situation we refer to as the `unreachable points phenomenon'. This phenomenon could significantly affect the search accuracy of the graph in certain situations. To address these issues, we present efficient measures to overcome the shortcomings of HNSW, specifically addressing poor performance over long periods of delete and update operations and resolving the issues caused by the unreachable points phenomenon. Our proposed MN-RU algorithm effectively improves update efficiency and suppresses the growth rate of unreachable points, ensuring better overall performance and maintaining the integrity of the graph. Our results demonstrate that our methods outperform existing approaches. Furthermore, since our methods are based on HNSW, they can be easily integrated with existing indices widely used in the industrial field, making them practical for future real-world applications. Code is available at \url{https://github.com/xwt1/MN-RU.git}
翻译:近似最近邻搜索(ANNS)是数据挖掘和信息检索中一个基础且关键的组成部分,其中基于图的方法相较于其他方法展现出更优越的性能。大量研究工作致力于通过开发各种基于图的索引(如HNSW)来提高搜索效率。然而,当面临大量实时删除、插入和更新操作时,HNSW及大多数基于图的索引性能会变得不可接受。此外,在更新操作过程中,HNSW可能导致某些数据点变得不可达,我们将这种情况称为“不可达点现象”。这种现象在某些情况下会显著影响图的搜索精度。为解决这些问题,我们提出了有效的改进措施以克服HNSW的缺陷,具体针对长期删除和更新操作性能不佳的问题,并解决由不可达点现象引发的问题。我们提出的MN-RU算法有效提升了更新效率,抑制了不可达点的增长速度,确保了更好的整体性能并维持了图的完整性。实验结果表明,我们的方法优于现有方法。此外,由于我们的方法基于HNSW,它们可以轻松与工业领域广泛使用的现有索引集成,使其在未来实际应用中具有实用性。代码发布于 \url{https://github.com/xwt1/MN-RU.git}