cancel
Showing results for 
Search instead for 
Did you mean: 

Busqueda dentro de un espacio sobre una propiedad

fstnboy
Champ on-the-rise
Champ on-the-rise
Buenas!

Deseo realizar una busqueda dentro del "nodo actual" (currentNode), pero a la vez filtrar los resultados por una propiedad.

He estado mirando y he visto que hay distintos tipos de búsqueda (lucene, XPath, …). ¿Cual debería usar?¿Hay alguna página sobre la sintaxis a usar?
42 REPLIES 42

ajv
Champ in-the-making
Champ in-the-making
Hola fstnboy!

Puedes echarle un vistazo a la siguiente página del wiki: http://wiki.alfresco.com/wiki/Search
Allí aclaran mucho cómo buscar por tipo, por el valor de determinadas propiedades, por contenido, por path, etc…

Espero que te resulte útil.
Hasta luego!

fstnboy
Champ on-the-rise
Champ on-the-rise
No consigo crear el serviceRegistry…..

¿que tendría que hacer? Ya he mirado la página http://wiki.alfresco.com/wiki/Services_Framework

ajv
Champ in-the-making
Champ in-the-making
Hola fstnboy!

Para tener acceso a una instancia del serviceRegistry desde Java, puedes hacerlo de la siguiente forma:
ServiceRegistry serviceRegistry = Repository.getServiceRegistry(FacesContext.getCurrentInstance());
A partir de ahí tendrás acceso a los diferentes servicios registrados en Alfresco. Por ejemplo:
NodeService nodeService = serviceRegistry.getNodeService();

Espero que te sirva. Smiley Very Happy
Hasta pronto!

fstnboy
Champ on-the-rise
Champ on-the-rise
Gracias! Resultó bien.

¿Porqué no aparece esa forma de obtener el serviceRegistry en la wiki?

ajv
Champ in-the-making
Champ in-the-making
jejeje, pues no sé por q no aparece en el wiki fstnboy…
Pero recuerdo que en su día también tuve problemas con el service registry, porque no era capaz de encontrar un contexto en el que estuviera activo…y mirando el código fuente lo encontré  Smiley Very Happy

Bueno, me alegro de que te haya resultado a ti tambien  Smiley Tongue
Hasta luego!

fstnboy
Champ on-the-rise
Champ on-the-rise
Otra duda…

Existe alguna forma, para la búsqueda de lucene, de que estando en el nodo en el que esté pueda generar la query del path (de forma recursiva o algo así)?

gracias

ajv
Champ in-the-making
Champ in-the-making
buenas,

Pues nunca lo he probado en una búsqueda lucene, pero el nodeService dispone del método getPath(nodeRef):
http://dev.alfresco.com/resource/docs/java/repository/org/alfresco/service/cmr/repository/NodeServic...

ResultSet results = searcher.query(rootNodeRef.getStoreRef(), "lucene", "PATH:\"/namespace:one/namespace:five/namespace:twelve\"", null, null);
El path debería ser del tipo que muestra el código anterior, es decir, namespace:espacio/namespace:subespacio…
Para ello, el objeto Path que te devuelve el método getPath(), debes aplicarle la función toPrefixString, con un "resolver" de namespaces (si le pasas el servicio de namespace te irá bien…lo puedes coger del mismo serviceRegistry).
Aquí tienes un ejemplo:
nodeService.getPath(currentNode).toPrefixString(namespaceService)

Espero que te vaya bien!  :mrgreen:
Hasta luego!

fstnboy
Champ on-the-rise
Champ on-the-rise
Gracias de nuevo!! Eres un hacha

fstnboy
Champ on-the-rise
Champ on-the-rise
Gracias ajv, la query se creaba bien, pero no me busca lo que quiero. He realizado la búsqueda solo por aspecto (sin path query-s) y me busca el espacio que quiero, imprimo su path y es la siguiente:

13:33:13,755 INFO  [STDOUT] /app:company_home/ajd:AsesorÝa_x0020_JurÝdica/ajdSmiley Tonguerocedimientos/ajd:Administrativos/ajdSmiley Tonguerotecci¾n_x0020_de_x0020_datos/cmSmiley Tonguerueba_x0020_PD

Luego realizo la búsqueda con la siguiente query (con path):
13:44:21,687 INFO  [STDOUT] +ASPECT:"{http://www.libertyseguros.es/model/content/ajd/1.0}EsEmpresa" +PATH:"/app:company_home/ajd:AsesorÝa_x0020_JurÝdica/ajdSmiley Tonguerocedimientos/ajd:Administrativos/ajdSmiley Tonguerotecci¾n_x0020_de_x0020_datos//*"

La búsqueda la realizo estando en el siguiente nodo:
Path prefix: /app:company_home/ajd:AsesorÝa_x0020_JurÝdica/ajdSmiley Tonguerocedimientos/ajd:Administrativos/ajdSmiley Tonguerotecci¾n_x0020_de_x0020_datos

Gracias de antemano!
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.