powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Java [игнор отключен] [закрыт для гостей] / Какая информация хранится в maven-index?
13 сообщений из 13, страница 1 из 1
Какая информация хранится в maven-index?
    #39815776
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это тот самый толстый gzip архив который периодически среда разработки качает из Central Index
https://repo.maven.apache.org/maven2/.index/

Есть ли там связка ClassName=>artifact name ?
...
Рейтинг: 0 / 0
Какая информация хранится в maven-index?
    #39815785
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сам файл представляет собой архив размером 640Мб если качать целиком без инкременталов.
Будучи распакованным - 4.5Гб. Внутри - сложно сказать. Не текстовый. По крайней мере заголовок.
Ближе к середине идут текстовые данные где по виду можно угадать названия артифактов и зависимостей.
...
Рейтинг: 0 / 0
Какая информация хранится в maven-index?
    #39815827
Partisan M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какая информация - видно из названия. Список артефактов в хранилище. Загружать его для просмотра глазами бессмысленно. Он используется программно. Конкретно, есть смысл установить сервер Nexus OSS. В нём будут хранилища Maven, в том числе типа proxy (посредник, это ссылка на внешнее хранилище, например на Maven Central). При обращении к этому хранилищу (proxy) из проекта Maven, Nexus будет сначала искать в локальном кеше, а если там не найдёт, то будет искать в хранилище, для которого оно proxy, тогда использует этот индекс.

Связка имя артефакта-имя класса будет только если тот, кто поместил артефакт в хранилище, задал такую структуру. Но обычно есть связка имя артефакта-jar файл, поэтому по имени артефакта загружается весь jar файл, в котором может быть больше одного класса.

В общем, уcтановить Nexus OSS, получить с его сайта документацию и осваивать. Nexus OSS бывает версий 2 и 3. Хотя версия 2 всё ещё часто применяется, но можно не брать пример с других и использовать последнюю версию 3.
...
Рейтинг: 0 / 0
Какая информация хранится в maven-index?
    #39815891
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нашел софт который умеет парсить и вроде-бы индексировать это как текст.
https://github.com/apache/maven-indexer


Добавил туда свои логгеры чтоб посмотреть что там лежит.
...
Рейтинг: 0 / 0
Какая информация хранится в maven-index?
    #39815929
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добавил такую штуку.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
        Document doc = new Document();

        System.out.printf(" :: Document\n");

        for ( int i = 0; i < fieldCount; i++ )
        {
            Field field = readField();
            System.out.printf(" :: field : %s (%s) : [%s] : '%s'\n",
                              field.name(),
                              field.fieldType(),
                              field.fieldType().docValuesType(),
                              wrap(valueOf(field.stringValue()))
            );

            doc.add(field);
        }



Здесь Field - это Люсиновский документ. И мне было интересно какие поля идут в индекс.

Вот фрагмент лога.


Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
 :: field : n (stored,indexed,tokenized) : [NONE] : 'XParse'
 :: field : d (stored,indexed,tokenized) : [NONE] : 'Small and simple library to convert XML into Plain Old Java Objects'
 :: field : 1 (stored,indexed) : [NONE] : 'a85a1bf2d19f08a8dc2468e5a03bcf5639b46548'
 :: pos = 401418 (bytes), size = 674202986 (bytes), progress = 0.000595 (ratio), timeElapsed = 3 (s), speed = 122 (bytes/msec), approxAllTime = 1:32:06, approxTimeLeft = 1:32:02 :: Document
 :: field : u (stored,indexed) : [NONE] : 'org.xparse|xparse|0.1|sources|jar'
 :: field : m (stored) : [NONE] : '1318434253710'
 :: field : i (stored) : [NONE] : 'jar|1295887395000|4623|2|2|1|jar'
 :: field : n (stored,indexed,tokenized) : [NONE] : 'XParse'
 :: field : d (stored,indexed,tokenized) : [NONE] : 'Small and simple library to convert XML into Plain Old Java Objects'
 :: field : 1 (stored,indexed) : [NONE] : '1ef6f0181515c083cdc5c28fe3a97e2ee5313ebf'
 :: pos = 401418 (bytes), size = 674202986 (bytes), progress = 0.000595 (ratio), timeElapsed = 3 (s), speed = 122 (bytes/msec), approxAllTime = 1:32:06, approxTimeLeft = 1:32:02 :: Document
 :: field : u (stored,indexed) : [NONE] : 'org.xparse|xparse|0.1|javadoc|jar'
 :: field : m (stored) : [NONE] : '1318434253716'
 :: field : i (stored) : [NONE] : 'jar|1295887396000|36184|2|2|1|jar'
 :: field : n (stored,indexed,tokenized) : [NONE] : 'XParse'
 :: field : d (stored,indexed,tokenized) : [NONE] : 'Small and simple library to convert XML into Plain Old Java Objects'
 :: field : 1 (stored,indexed) : [NONE] : 'c633fbd1ef2ca3864fb0efd9b92e6a6da32d01da'
 :: pos = 401418 (bytes), size = 674202986 (bytes), progress = 0.000595 (ratio), timeElapsed = 3 (s), speed = 122 (bytes/msec), approxAllTime = 1:32:06, approxTimeLeft = 1:32:02 :: Document
 :: field : u (stored,indexed) : [NONE] : 'org.xmlmatchers|xml-matchers|0.10|NA'
 :: field : m (stored) : [NONE] : '1318434253736'
 :: field : i (stored) : [NONE] : 'jar|1305778350000|22367|1|1|1|jar'
 :: field : n (stored,indexed,tokenized) : [NONE] : 'xml-matchers'
 :: field : d (stored,indexed,tokenized) : [NONE] : 'A collection of Hamcrest matchers for XML documents. The matchers include XPath, schema validation using XML Schema or RelaxNG(experimental), and XML document equivalence.'
 :: field : 1 (stored,indexed) : [NONE] : '04d25caff6dfbdf3231d3d82ac90bc5b13c84693'
 :: pos = 401418 (bytes), size = 674202986 (bytes), progress = 0.000595 (ratio), timeElapsed = 3 (s), speed = 122 (bytes/msec), approxAllTime = 1:32:06, approxTimeLeft = 1:32:02 :: Document
 :: field : u (stored,indexed) : [NONE] : 'org.xmlmatchers|xml-matchers|0.10|sources|jar'
 :: field : m (stored) : [NONE] : '1318434253755'


...
Рейтинг: 0 / 0
Какая информация хранится в maven-index?
    #39815942
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Немножко перемотал вперед. Характер инфы стал побогаче. Появились поля 'Export-Package' e.t.c. Полей много - но не бесконечно.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
 :: field : 1 (stored,indexed) : [NONE] : '15acc84390bb853f072fabf3aaecbb1eb5463cee'
 :: field : Bundle-SymbolicName (stored,indexed,tokenized) : [NONE] : 'org.shoal.gms-impl'
 :: field : Bundle-Version (stored,indexed,tokenized) : [NONE] : '1.6.09'
 :: field : Export-Package (stored,indexed,tokenized) : [NONE] : 'com.sun.enterprise.ee.cms.impl.common;uses:="com.sun.enterprise.ee.cms.core,com.sun.enterprise.ee.cms.spi,com.sun.enterprise.ee.cms.impl.client,com.sun.enterprise.ee.cms.logging,com.sun.enterprise.ee.cms.impl.base,javax.management";version="1.6.09",com.sun.enterprise.ee.cms.impl.client;uses:="com.sun.enterprise.ee.cms.core,com.sun.enterprise.ee.cms.logging";version="1.6.09",com.sun.enterprise.ee.cms.impl.base;uses:="com.sun.enterprise.ee.cms.logging,com.sun.enterprise.ee.cms.core,com.sun.enterprise.ee.cms.impl.common,com.sun.enterprise.ee.cms.spi,com.sun.enterprise.mgmt,com.sun.enterprise.mgmt.transport";version="1.6.09",com.sun.enterprise.gms.tools;version="1.6.09",com.sun.enterprise.ee.cms.logging;uses:="sun.security.action";version="1.6.09",com.sun.enterprise.mgmt;uses:="com.sun.enterprise.ee.cms.logging,com.sun.enterprise.ee.cms.core,com.sun.enterprise.mgmt.transport,com.sun.enterprise.ee.cms.impl.base,com.sun.enterprise.ee.cms.impl.common,com.sun.enterprise.ee.cms.impl.client,com.sun.enterprise.ee.cms.spi";version="1.6.09",com.sun.enterprise.mgmt.transport.grizzly.grizzly2;uses:="org.glassfish.grizzly.utils,org.glassfish.grizzly,com.sun.enterprise.mgmt.transport.buffers,org.glassfish.grizzly.memory,org.glassfish.grizzly.filterchain,com.sun.enterprise.mgmt.transport,com.sun.enterprise.ee.cms.impl.common,com.sun.enterprise.mgmt.transport.grizzly,com.sun.enterprise.ee.cms.impl.base,org.glassfish.grizzly.nio.transport,org.glassfish.grizzly.threadpool,org.glassfish.grizzly.attributes";version="1.6.09",com.sun.enterprise.mgmt.transport;uses:="com.sun.enterprise.ee.cms.impl.base,com.sun.enterprise.ee.cms.logging,com.sun.enterprise.ee.cms.core,com.sun.enterprise.mgmt.transport.buffers,com.sun.enterprise.ee.cms.impl.common,com.sun.enterprise.ee.cms.spi";version="1.6.09",com.sun.enterprise.mgmt.transport.buffers;version="1.6.09",com.sun.enterprise.mgmt.transport.grizzly;uses:="com.sun.enterprise.mgmt,com.sun.enterprise.ee.cms.logging,com.sun.enterprise.mgmt.transport,com.sun.enterprise.ee.cms.impl.base";version="1.6.09",com.sun.enterprise.mgmt.transport.grizzly.grizzly1_9;uses:="com.sun.enterprise.mgmt.transport,com.sun.enterprise.mgmt.transport.buffers,com.sun.grizzly,com.sun.grizzly.util,com.sun.grizzly.connectioncache.server,com.sun.enterprise.mgmt.transport.grizzly,com.sun.grizzly.connectioncache.spi.transport,com.sun.enterprise.ee.cms.impl.common,com.sun.enterprise.ee.cms.impl.base,com.sun.grizzly.connectioncache.client,com.sun.grizzly.async,com.sun.grizzly.filter";version="1.6.09"'
 :: field : Bundle-Description (stored,indexed,tokenized) : [NONE] : 'Java.net - The Source for Java Technology Collaboration'
 :: field : Bundle-Name (stored,indexed,tokenized) : [NONE] : 'shoal-gms-impl'
 :: field : Bundle-License (stored,indexed,tokenized) : [NONE] : 'http://glassfish.java.net/public/CDDL+GPL.html'
 :: field : Import-Package (stored,indexed,tokenized) : [NONE] : 'com.sun.enterprise.ee.cms.core;version="[1.6,2)",com.sun.enterprise.ee.cms.spi;version="[1.6,2)",com.sun.grizzly;version="[1.9,2)";resolution:=optional,com.sun.grizzly.async;version="[1.9,2)";resolution:=optional,com.sun.grizzly.connectioncache.client;version="[1.9,2)";resolution:=optional,com.sun.grizzly.connectioncache.server;version="[1.9,2)";resolution:=optional,com.sun.grizzly.connectioncache.spi.transport;version="[1.9,2)";resolution:=optional,com.sun.grizzly.filter;version="[1.9,2)";resolution:=optional,com.sun.grizzly.util;version="[1.9,2)";resolution:=optional,javax.management,org.glassfish.grizzly;resolution:=optional,org.glassfish.grizzly.attributes;resolution:=optional,org.glassfish.grizzly.filterchain;resolution:=optional,org.glassfish.grizzly.memory;resolution:=optional,org.glassfish.grizzly.nio.transport;resolution:=optional,org.glassfish.grizzly.threadpool;resolution:=optional,org.glassfish.grizzly.utils;resolution:=optional,sun.security.action'
 :: pos = 2424842 (bytes), size = 674202986 (bytes), progress = 0.003597 (ratio), timeElapsed = 17 (s), speed = 137 (bytes/msec), approxAllTime = 1:22:01, approxTimeLeft = 1:21:43 :: Document
 :: field : u (stored,indexed) : [NONE] : 'org.shoal|shoal-gms-impl|1.6.09|sources|jar'
 :: field : m (stored) : [NONE] : '1318436660210'
 :: field : i (stored) : [NONE] : 'jar|1311699524000|383577|2|2|1|jar'
 :: field : n (stored,indexed,tokenized) : [NONE] : 'shoal-gms-impl'
 :: field : 1 (stored,indexed) : [NONE] : 'e84f9ec8876998d186de9798d0ed92478379e32d'
 :: pos = 2424842 (bytes), size = 674202986 (bytes), progress = 0.003597 (ratio), timeElapsed = 17 (s), speed = 137 (bytes/msec), approxAllTime = 1:22:01, approxTimeLeft = 1:21:43 :: Document
 :: field : u (stored,indexed) : [NONE] : 'org.shoal|shoal-gms-impl|1.6.09|javadoc|jar'

...
Рейтинг: 0 / 0
Какая информация хранится в maven-index?
    #39815952
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да. Как симулировать запуск консольного индексатора.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Use either unpack ("u") or index ("i" and "r") options, but none has been found!


usage: nexus-indexer [options]

Options:
 -c,--chunks              Create incremental chunks.
 -D,--define              Define a system property
 -d,--destination <arg>   Target folder.
 -e,--errors              Produce execution error messages
 -h,--help                Display help information
 -i,--index <arg>         Path to the index folder.
 -k,--keep <arg>          Number of incremental chunks to keep.
 -n,--name <arg>          Repository name.
 -q,--quiet               Quiet output - only show errors
 -r,--repository <arg>    Path to the Maven repository.
 -s,--checksums           Create checksums for all files (sha1, md5).
 -t,--type <arg>          Indexer type (default, min, full or comma
                          separated list of custom types).
 -u,--unpack              Unpack an index file
 -v,--version             Display version information
 -X,--debug               Produce execution debug output



Я использовал ---unpack и указал --index там где лежит этот архив.
...
Рейтинг: 0 / 0
Какая информация хранится в maven-index?
    #39815958
Partisan M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
не знаю. Не пользуюсь этим ввиду ненадобности, а делаю как описал - в собственном Nexus-е задаю proxy-хранилища для хранилищ в интернете. В Nexus достаточно легко найти интересующие артефакты.
...
Рейтинг: 0 / 0
Какая информация хранится в maven-index?
    #39815966
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я еще не искал по твоей ссылке. Но мне чтобы поискать связи между пакетами как-то лень устанавливать сервер Nexus OSS.

Тоесть ... я-бы предпочел более оффлайновый вариант.
...
Рейтинг: 0 / 0
Какая информация хранится в maven-index?
    #39815999
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хм… да это самый устойчивый к изменениям код. Что-то где-то поменял - apache-rat-plugin заругался на лицензии.
Выставил свойство numUnapprovedLicenses. Потом - каскадом maven-enforcer-plugin ругается на версию JDK...
Фикшу.
...
Рейтинг: 0 / 0
Какая информация хранится в maven-index?
    #39816300
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вобщем пофиксил. Просто откатил к Java-1.7. Компиллятор 11 но генерит под семерку.
...
Рейтинг: 0 / 0
Какая информация хранится в maven-index?
    #39816321
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вобщем этот индекс хранит виртуальную табличку с такими названиями полей. Это собрано со 100% докуменов индекса.
Здесь count - это количество раз которое поле встречалось во всем индексе. Некоторые поля - по 1 разу.
Некоторые - прибл. 10 миллионов. Я думаю это и есть количество записей в этом индексе.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
==================================================================
Export-Service , ColumnInfo{fieldType='stored,indexed,tokenized', maxLengthInChars=2571, count=26304}
DESCRIPTOR , ColumnInfo{fieldType='stored,indexed', maxLengthInChars=10, count=1}
IDXINFO , ColumnInfo{fieldType='stored', maxLengthInChars=11, count=1}
Bundle-License , ColumnInfo{fieldType='stored,indexed,tokenized', maxLengthInChars=463, count=575049}
d , ColumnInfo{fieldType='stored,indexed,tokenized', maxLengthInChars=29475, count=6442786}
allGroups , ColumnInfo{fieldType='stored,indexed', maxLengthInChars=9, count=1}
i , ColumnInfo{fieldType='stored', maxLengthInChars=250, count=10300049}
del , ColumnInfo{fieldType='stored', maxLengthInChars=382, count=18447}
Bundle-Name , ColumnInfo{fieldType='stored,indexed,tokenized', maxLengthInChars=155, count=826204}
Bundle-Description , ColumnInfo{fieldType='stored,indexed,tokenized', maxLengthInChars=2501, count=559971}
m , ColumnInfo{fieldType='stored', maxLengthInChars=13, count=10318496}
Import-Package , ColumnInfo{fieldType='stored,indexed,tokenized', maxLengthInChars=87016, count=618029}
Bundle-DocURL , ColumnInfo{fieldType='stored,indexed,tokenized', maxLengthInChars=221, count=456801}
n , ColumnInfo{fieldType='stored,indexed,tokenized', maxLengthInChars=190, count=9378365}
allGroupsList , ColumnInfo{fieldType='stored', maxLengthInChars=896784, count=1}
rootGroups , ColumnInfo{fieldType='stored,indexed', maxLengthInChars=10, count=1}
Export-Package , ColumnInfo{fieldType='stored,indexed,tokenized', maxLengthInChars=628440, count=582014}
1 , ColumnInfo{fieldType='stored,indexed', maxLengthInChars=92, count=10285293}
rootGroupsList , ColumnInfo{fieldType='stored', maxLengthInChars=7360, count=1}
Bundle-SymbolicName , ColumnInfo{fieldType='stored,indexed,tokenized', maxLengthInChars=117, count=872231}
u , ColumnInfo{fieldType='stored,indexed', maxLengthInChars=165, count=10300049}
Bundle-Version , ColumnInfo{fieldType='stored,indexed,tokenized', maxLengthInChars=122, count=858067}
Require-Bundle , ColumnInfo{fieldType='stored,indexed,tokenized', maxLengthInChars=3130, count=16966}
...
Рейтинг: 0 / 0
Какая информация хранится в maven-index?
    #39816698
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вобщем получилась такая табличка в формате (H2 dbms)

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
sql> show columns from mvnidx;
FIELD               | TYPE                | NULL | KEY | DEFAULT
I                   | VARCHAR(2147483647) | YES  |     | NULL
M                   | VARCHAR(2147483647) | YES  |     | NULL
D                   | VARCHAR(2147483647) | YES  |     | NULL
ONE                 | VARCHAR(2147483647) | YES  |     | NULL
N                   | VARCHAR(2147483647) | YES  |     | NULL
U                   | VARCHAR(2147483647) | YES  |     | NULL
EXPORT_SERVICE      | VARCHAR(2147483647) | YES  |     | NULL
DESCRIPTOR          | VARCHAR(2147483647) | YES  |     | NULL
IDXINFO             | VARCHAR(2147483647) | YES  |     | NULL
BUNDLE_LICENSE      | VARCHAR(2147483647) | YES  |     | NULL
ALLGROUPS           | VARCHAR(2147483647) | YES  |     | NULL
DEL                 | VARCHAR(2147483647) | YES  |     | NULL
BUNDLE_NAME         | VARCHAR(2147483647) | YES  |     | NULL
BUNDLE_DESCRIPTION  | VARCHAR(2147483647) | YES  |     | NULL
IMPORT_PACKAGE      | VARCHAR(2147483647) | YES  |     | NULL
BUNDLE_DOCURL       | VARCHAR(2147483647) | YES  |     | NULL
ALLGROUPSLIST       | VARCHAR(2147483647) | YES  |     | NULL
ROOTGROUPS          | VARCHAR(2147483647) | YES  |     | NULL
EXPORT_PACKAGE      | VARCHAR(2147483647) | YES  |     | NULL
ROOTGROUPSLIST      | VARCHAR(2147483647) | YES  |     | NULL
BUNDLE_SYMBOLICNAME | VARCHAR(2147483647) | YES  |     | NULL
BUNDLE_VERSION      | VARCHAR(2147483647) | YES  |     | NULL
REQUIRE_BUNDLE      | VARCHAR(2147483647) | YES  |     | NULL
(23 rows, 52 ms)
sql>



В виде исходных данных (CSV) занимает порядка 4.8 Гб. В формате сегмента базы H2 примерно столько-же.
В архиве (gzip) - 570Мб.

В формате базы ее хранить невыгодно. Много длинных дублирующихся строк. Надо делать нормализацию
или transparent dbms compression если есть возможность.

Интересующей информации я для себя там не нашел. Названий классов нету. Но сам архив я могу опубликовать где-нибудь
если кому интересно.

Вобщем топик можно закрыть.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Какая информация хранится в maven-index?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]