cancel
Showing results for 
Search instead for 
Did you mean: 

Obtener metadatos por consulta de lucene

baskeyfield
Champ in-the-making
Champ in-the-making
Muy buenas,

Estoy usando webservices de Alfresco para obtener resultados en consultas de lucene. "Por defecto" lucene te devuelve el path del elemento en cuestión, pero no sus metadatos, es decir, ni su nombre, ni su autor, descripción, etc.

He visto que el tercer parámetro que se le pasa a la consulta es el de "includeMetadata":
repositoryService.query(STORE, query, true);

Pero ya sea false o true los resultados son los mismos, parece que esto no funciona correctamente.

Por otra parte, he visto en otros post que para obtener metadatos lo que hacen es una segunda consulta por cada nodo, pero esto es bastante ineficiente y tarda bastante más en obtener los resultados.

¿Alguien ha tenido este problema? ¿Como obteneis vosotros los metadatos tras una consulta?

Un saludo y gracias!
1 REPLY 1

baskeyfield
Champ in-the-making
Champ in-the-making
Me auto respondo, la forma óptima para obtener los metadatos es esta:

Query query = new Query("lucene","+PATH:\"/app:company_home//*\"");
        Store STORE = new Store(Constants.WORKSPACE_STORE, "SpacesStore");       
       
        Node [] nodes = null;
        nodes = WebServiceFactory.getRepositoryService().get(new Predicate(null,STORE,query));
       
        if (null != nodes){
            NamedValue[] props = null;
            for (final Node node : nodes) {
               props = node.getProperties();
               for(NamedValue prop : props) {
                 
                  if(prop.getName().endsWith(Constants.PROP_NAME) == true) {                  
                     System.out.println(prop.getValue());
               }
            }
            }
}

Un saludo.
Getting started

Tags


Find what you came for

We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.