I got both getArtifactsByMetadata and getArtifactsByProperty working, passing the repository
https://github.com/carlossg/archiva/compare/carlossg:abstract-metadata...metadata-search The problem I hit with not passing the repo is that AbstractTestService.buildArtifacts needs it. Will look later. About adding the other pom fields to the search index, from what I saw I need to add them to MinimalArtifactInfoIndexCreator (or a new one) in the maven-indexer project, and then archiva would just use that? Are the fields indexed already searchable somewhere in archiva with field selection? e.g. g:myGroupId or v:1.0 ? Thanks On Wed, Nov 5, 2014 at 11:42 PM, Olivier Lamy <[email protected]> wrote: > Hi, > I would make repositoryId as a query param so will make it optional. > If empty/null use the users repositories? > > On 6 November 2014 06:22, Carlos Sanchez <[email protected]> wrote: > > Thanks, got an initial implementation of getArtifactsByMetadata at > > https://github.com/carlossg/archiva/compare/metadata-search > > > > I added the repositoryId param, like other methods, but I'm not sure if > > that would be limiting the feature, searching in all repos would be more > > interesting. > > > > On Wed, Nov 5, 2014 at 12:28 PM, Olivier Lamy <[email protected]> wrote: > > > >> basic Cassandra requests tru Hector client won't work. > >> You will have to write some manual cql queries. > >> > >> On 5 November 2014 22:07, Carlos Sanchez <[email protected]> wrote: > >> > On Wed, Nov 5, 2014 at 11:54 AM, Olivier Lamy <[email protected]> > wrote: > >> > > >> >> I would add that in the interface MetadataRepository, add a test in > >> >> the tck and implements it for all providers :-) > >> >> Maybe having 2 methods: > >> >> * generic metadata: getArtifactsByMetadata( key, value) ( maybe a Map > >> >> for multiple value pair? will you test the full value or a matching?) > >> >> > >> > > >> > is the matching syntax for cassandra an jcr different? > >> > I mean if I pass ('foo', 'bar*') -or some sort of regex- to do > matching > >> is > >> > it going to work only in jcr? > >> > > >> > > >> > > >> >> * pom contents: getArtifactsByProperty( key, value ) ( same > questions ) > >> >> > >> >> To start I won't go with a Map and exact matching :-) (I reckon pom > >> >> content can be a pain with Cassandra impl) > >> >> > >> >> WDYT? > >> >> > >> >> Olivier > >> >> > >> >> > >> >> On 5 November 2014 21:45, Carlos Sanchez <[email protected]> wrote: > >> >> > Thanks for the pointers, so if I add a method to > JcrMetadataRepository > >> >> > > >> >> > getArtifactsByProperty(key, value) > >> >> > > >> >> > similar to getArtifactsByDateRange, writing the correct JCR query, > I > >> >> could > >> >> > access all that metadata? > >> >> > > >> >> > > >> >> > In which of the rest services would it make sense to add such a > >> search? > >> >> > > >> >> > > >> >> > > >> >> > On Wed, Nov 5, 2014 at 11:28 AM, Olivier Lamy <[email protected]> > >> wrote: > >> >> > > >> >> >> Hi, > >> >> >> The current SearchService search in maven indexer available datas. > >> >> >> All the data you want to search are not available here but in the > >> >> >> MetadataRepository ( so jcr, file or the new Cassandra). > >> >> >> And currently there is no search methods for that! > >> >> >> So really good news to see you as a volunteer to implement this! > :-) > >> >> >> Let me know if you need any pointers. > >> >> >> > >> >> >> Cheers > >> >> >> Olivier > >> >> >> > >> >> >> > >> >> >> On 4 November 2014 06:33, Carlos Sanchez <[email protected]> > wrote: > >> >> >> > Hi, > >> >> >> > > >> >> >> > Two things I wasn't able to do and was going to implement > (unless I > >> >> >> missed > >> >> >> > something): > >> >> >> > > >> >> >> > * search for generic metadata > >> >> >> > * search for pom contents > >> >> >> > > >> >> >> > The way the search queries are built in SearchService only looks > >> for > >> >> the > >> >> >> > typical fields (artifactId, groupId,...), so that needs to be > >> changed, > >> >> >> but > >> >> >> > I don't know if the pom and generic metadata fields are even > >> indexed, > >> >> any > >> >> >> > pointers? > >> >> >> > > >> >> >> > Looking to be able to search for "myMetadata:myValue" and > something > >> >> like > >> >> >> > "developer:carlos*" through the rest api and ui. > >> >> >> > > >> >> >> > Thanks > >> >> >> > >> >> >> > >> >> >> > >> >> >> -- > >> >> >> Olivier Lamy > >> >> >> http://twitter.com/olamy | http://linkedin.com/in/olamy > >> >> >> > >> >> > >> >> > >> >> > >> >> -- > >> >> Olivier Lamy > >> >> http://twitter.com/olamy | http://linkedin.com/in/olamy > >> >> > >> > >> > >> > >> -- > >> Olivier Lamy > >> http://twitter.com/olamy | http://linkedin.com/in/olamy > >> > > > > -- > Olivier Lamy > http://twitter.com/olamy | http://linkedin.com/in/olamy >
