如何在Maven中心的标签元数据字段下填充索引的内容?

时间:2017-03-10 23:30:35

标签: maven nexus maven-central

Maven Central的search facility提供了几个可以搜索的不同字段。当然,最熟悉的是组ID,工件ID和版本。但还有其他人。例如,以下是一个搜索名为tags的字段的查询:

http://search.maven.org/#search%7Cga%7C1%7Ctags%3Asbtplugin

如果您在该列表中选择一个工件并深入研究它,您会发现(一旦您通过了断开的链接!)pom.xml中有一个sbtVersion属性。

所以也许,我想,这就是你填充tags字段的方法:只需在properties节中添加一个任意属性。当然,上面搜索的标签是sbtplugin,而检查的属性是sbtVersion,所以显然还有其他内容,但是我找不到任何可以记录的机制。

那么 这个索引字段是如何填充的?它是否是特定于Nexus的功能?我可以使用maven-deploy-plugin填充它,其目标似乎没有暗示这样的事情吗?

如果我可以控制放在那里的内容,能够以编程方式搜索这个字段将非常非常有用。

2 个答案:

答案 0 :(得分:0)

引用Maven中心本身的API description

  

http://search.maven.org/#search|ga|1|tags:sbtplugin

     

返回sbtplugins中央的al工件。一个sbtplugin是   定义为具有包含属性的pom的工件   “sbtVersion”和“scalaVersion”

另外

  

http://search.maven.org/#search|ga|1|tags:sbtVersion-0.11

     

返回使用sbt版本0.11

的中央中的所有工件

答案 1 :(得分:0)

Sonatype的Joel Orlina写道:

  

支持search.maven.org的索引器的旧版本使用POM中tags元素的内容填充<description>字段。该字段通过一些标准StopWord过滤器以及其他一些Lucene分析器,因此完整内容不会进入tag字段。几年前我们做了一些更改来帮助scala / sbt社区,根据我们在scala / sbt-plugin poms中发现的特定元素,我们合成了三个标记:sbtPluginsbtVersionscalaVersion。这允许sbt插件的用户搜索那些类型的工件,这些工件在许多情况下不符合Maven2存储库布局,因此通常不会被search.maven.org索引器索引。

     

标签字段没有太多其他内容。