Estoy bastante impresionado con el lenguaje de búsquedas de Nuxeo, el
nxlquery, que te proporciona una sintaxis sql para las búsquedas muy
pero que muy cómoda. Se pueden hacer desde la consola de búsqueda
avanzada de Nuxeo o bien desde un pequeño script que invoque una URL
expuesta en Nuxeo.
Una pequeña muestra de las consultas que se pueden hacer son
las siguientes:
SELECT * FROM Document WHERE dc:title LIKE 'testfile%' ORDER BY dc:description SELECT * FROM Document WHERE dc:title LIKE 'testfile%' AND ecm:path STARTSWITH '/' SELECT * FROM Document WHERE dc:created >= DATE '2007-02-15' SELECT * FROM Document WHERE ecm:primaryType IN ('Folder', 'Note', 'MyType')
y con acceso a todos los tipos de contenido y metadatos
personalizados. En esta página del wiki de Nuxeo teneis algunas
búsquedas posibles con nxlquery.
https://www.nuxeo.org/xwiki/bin/view/FAQ/NXQLReference
Además es posible exponer una consulta con el RESTLET de
búsqueda de Nuxeo. Para ello en el archivo de configuración $JBOSS/server/default/deploy/nuxeo.ear/config/querymodel-contrib.xml
<?xml version="1.0"?> <component name="org.nuxeo.project.sample.querymodels"> <extension target="org.nuxeo.ecm.core.search.api.client.querymodel.QueryModelService" point="model"> <queryModel name="CUSTOM_TYPE_ONDOMAIN_SEARCH"> <pattern> SELECT * FROM Document WHERE ecm:PrimaryType = ? AND ecm:path STARTSWITH ? AND ecm:isCheckedInVersion = 0 AND ecm:mixinType != 'HiddenInNavigation' AND ecm:currentLifeCycleState != 'deleted' </pattern> <sortable value="true" defaultSortColumn="dc:title" defaultSortAscending="true" /> <max>100</max> </queryModel> </extension> </component>
Fijaros que la búsqueda definida va a buscar documentos de un
tipo específico por debajo de un path, de modo que va a requerir dos
parámetros QP1, y QP2. Reiniciamos el servidor y ponemos en el
navegador o invocamos desde una aplicación:
http://nuxeo.zylk.net:8080/nuxeo/restAPI/execQueryModel/CUSTOM_TYPE_ONDOMAIN_SEARCH?QP1=acta&QP2=/defaultdomain/sections&format=XML&colums=dublincore.title,dublincore.description,mytype.myproperty,url
obteniendo un xml con la información de la búsqueda solicitada.
De este modo, podemos consumir búsquedas sobre tipos de contenidos y
metadatos personalizados en Nuxeo desde aplicaciones via REST y
obtenerlas en formatos como xml,json,rss o atom. Con el parseo de la
info correspondiente voy a acabar programando en fortran
https://doc.nuxeo.org/5.1/books/nuxeo-book/html/nuxeo-restlet-api.html