寻找成熟的M-Tree实现

我正在寻找一个成熟的Java M-Tree实现 – 甚至是任何M-Tree实现(除了我发现的唯一实现)

http://en.wikipedia.org/wiki/M-tree

对于那些没有听说过M-tree的人(就像我2天前那样),M-Tree是一个搜索树,当它使用的密钥时,它可以检索“n-nearest entries”或“distance d内的所有条目”。可以放在“度量空间”中(M代表度量)。

我在网上找到了一个: https : //github.com/erdavila/M-Tree

如果需要,这个实现是可行的,但它不是Serializable,不提供“contains()”方法,并且它当前抛出一个断言错误(我已经弄清楚如何修复)。

如果存在稍微更精细的实现,我想知道,因为这个数据结构看起来非常有用,我想找到一个规范的实现。

—添加了更多信息(为了防止这个问题被关闭)—

我的最终目标是一个Map,其中“public Value get(Key)”方法返回“最接近”的值,即使没有精确的Key匹配。 因为我正在使用在度量空间上定义的键,我正在寻找MTree来处理此问题的“最接近”部分。

上面的实现是行不通的,因为(1)当相同的Key被放入两次时失败,(2)它不允许我删除一个Key,(3)它不允许我测试如果已插入密钥。