On 7 November 2014 07:42, Carlos Sanchez <[email protected]> wrote: > 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?
In such case you will have to modify the lucene model in the maven indexer project ( can certainly breaks a lot :-) ). > > Are the fields indexed already searchable somewhere in archiva with field > selection? e.g. g:myGroupId or v:1.0 ? Not associated at this level but that's already in our repository. > > 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 >> -- Olivier Lamy http://twitter.com/olamy | http://linkedin.com/in/olamy
