打包的 Maven 索引 (nexus-maven-repository-index.gz) 中有什么?

What is in the packed Maven index (nexus-maven-repository-index.gz)?

在哪里可以找到有关 Maven 存储库的 Maven 索引中包含的内容的更多详细信息?在哪里可以找到有关这一切如何运作的更多详细信息?我对maven-indexer有些熟悉,但还是有些灰心...

解包索引和打包索引有什么区别?

Maven 代理存储库是否只有远程的索引,或者它是否还保留当前在本地缓存的工件的索引?

非常感谢您提供详尽且足够长的回复,因为我正在研究该主题,不幸的是,关于它的文档很少。

这里有很多关于它的信息,还有一些更书呆子的细节:Nexus Indexer 2.0: incremental downloading

要开始回答您的问题,nexus-maven-repository-index.gz 包含存储库的所有内容。以中央为例,这将是中央的一切。除了这个索引,还会生成一个增量索引,其中包含自上次索引 运行 以来的所有更改。这些列表存储在 nexus-maven-repository-index.properties 中。这些增量索引在那里,因此不需要一直下载完整索引。

解压缩索引用于 searching/browse 远程功能,压缩索引用于从远程传输到 proxy/tool。

Maven 代理存储库可以下载远程索引(如果主要用于浏览远程资源)。这发生在 Nexus Repository 2 中,但不会出现在 Nexus Repository 3 中。在 3 中,索引被下载,开发工具可以使用它来探索远程内容,最大的区别是我们不使用它来填充 Nexus Repository 本身内部的任何内容. Maven 的搜索将 运行 针对远程索引(如果可用),然后是本地索引。

Nexus Repository Manager 中的代理保留自己的索引,如果存在,将下载远程索引。本地将包含本地的内容,远程将包含远程的内容。

gz文件只是一种存储lucene索引内容以供传输的方式,在检索时解包并放入本地lucene索引中。内容不是实际的 lucene 索引,只是内容,以防止将来的 lucene 版本更新。

打包索引与您一起生成 运行 Nexus Repository Manager 中的某些任务,例如发布索引。这 运行 取决于您确定的任何时间表。

对于组存储库,将从所有成员索引创建索引,如果可用,这将包括远程索引,否则我们知道的所有本地索引。

无论存储库类型如何,搜索时都会检查 lucene 索引。

一些关于索引器的额外博文: