Search samples
Aspectos básicos
Sección titulada «Aspectos básicos»Casi todos los métodos utilizan QueryParams. Aquí tiene algunos consejos sobre cómo utilizarlo.
| Variables | Tipo | Permite comodines | Restricciones | Descripción |
|---|---|---|---|---|
| domain | long | No. | Valores disponibles: - QueryParams.DOCUMENT - QueryParams.FOLDER - QueryParams.MAIL - QueryParams.RECORD Por defecto el valor es QueryParams.DOCUMENT. Para buscar documentos y carpetas utilice el valor: <br>(QueryParams.DOCUMENT | QueryParams.FOLDER) <br> |
Restringe la búsqueda a tipos de nodo. |
| author | String | No. | El valor debe ser un userId válido. | Filtra por el usuario creador. |
| name | String | Sí. | Filtra por nombre de nodo. | |
| title | String | Sí. | Filtra por título. | |
| keywords | Set |
Sí. | Filtra por palabras clave. | |
| categories | Set |
No. | Los valores deben ser un UUID de categoría; no utilice un valor de ruta. | Filtra por categorías. |
| content | Sí. | Filtra por contenido binario. | ||
| mimeType | No. | El valor debe ser un tipo MIME válido y registrado. Solo puede aplicarse a nodos de tipo documento. |
Filtra por tipo MIME del documento. | |
| language | No. | El valor debe ser un idioma válido. Solo puede aplicarse a nodos de tipo documento. |
Filtra por idioma del documento. | |
| folder | No. | Cuando está vacío, se utiliza por defecto el nodo “/okm:root”. El valor debe ser un UUID válido; no utilice un valor de ruta. |
Filtra por una carpeta. | |
| folderRecursive | Boolean | No. | Solo tiene sentido establecer esta variable como true cuando la variable folder no está vacía. | Habilita el filtrado recursivo por una carpeta. |
| lastModifiedFrom | Calendar | No. | Filtra los nodos creados después de una fecha. | |
| lastModifiedTo | Calendar | No. | Filtra los nodos creados antes de una fecha. | |
| mailSubject | String | Sí. | Solo se aplica a nodos de correo. | Filtra por el campo de asunto del correo. |
| mailFrom | String | Sí. | Solo se aplica a nodos de correo. | Filtra por el campo remitente del correo. |
| mailTo | Sí. | Solo se aplica a nodos de correo. | Filtra por el campo destinatario del correo. | |
| notes | Sí. | Filtra por notas. | ||
| properties | Map<String, String> | Sí, para casi todos. | En valores de campos de metadatos como “date”, no se pueden aplicar comodines. El mapa de propiedades se compone de pares: (‘nombre_campo_metadato’,‘valor_campo_metadato’) Por ejemplo: <br>Map<String, String> properties = new HashMap();<br>properties.put("okp:consulting.name", "name value");<br>Filtrado por rango de fechas: <br>Calendar to = Calendar.getInstance(); // hoy<br>to.set(0, Calendar.HOUR);<br>to.set(0, Calendar.MINUTE);<br>to.set(0, Calendar.SECOND);<br>to.set(0, Calendar.MILLISECOND);<br>Calendar from = (Calendar) to.clone();<br>from.add(-3, Calendar.DATE); // tres días antes<br>Map<String,String> properties = new HashMap<>();<br>properties.put("okp:consulting.date", ISO8601.formatBasic(from)+","+ISO8601.formatBasic(to));<br>Cuando filtre por un rango de fechas debe establecer ambos valores (from y to); en caso contrario OpenKM ignorará el filtro. Para filtrar por un campo de metadatos de tipo múltiple como este: cs<br><select label="Multiple" name="okp:consulting.multiple" type="multiple"><br> <option label="One" value="one"/><br> <option label="Two" value="two"/><br> <option label="Three" value="three" /><br></select><br>Debe hacer: bash<br>properties.put("okp:consulting.multiple", "one;two");<br>Donde “one” y “two” son valores válidos y el carácter “;” se utiliza como separador. |
Filtra por valores de grupos de metadatos. |
Ejemplos de comodines:
| Variable | Ejemplo | Descripción |
|---|---|---|
| name | test*.html | Cualquier documento que empiece por “test” y termine en “.html”. |
| name | test?.html | Cualquier documento que empiece por “test” seguido de un único carácter y termine en “.html”. |
| name | ?test* | Cualquier documento en el que el primer carácter no importa, pero va seguido de “test”. |
Métodos
Sección titulada «Métodos»findByContent
Sección titulada «findByContent»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| findByContent(String content) | List |
Devuelve una lista de resultados filtrados por el valor del parámetro content. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservices;import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.QueryResult;
public class Test { public static void main(String[] args) { String host = "http://localhost:8180/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password);
try { for (QueryResult qr : ws.findByContent("test")) { System.out.println(qr); } } catch (Exception e) { e.printStackTrace(); } }}findByName
Sección titulada «findByName»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| findByName(String name) | List |
Devuelve una lista de resultados filtrados por el valor del parámetro name. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservices;import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.QueryResult;
public class Test { public static void main(String[] args) { String host = "http://localhost:8180/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password);
try { for (QueryResult qr : ws.findByName("test*.html")) { System.out.println(qr); } } catch (Exception e) { e.printStackTrace(); } }}findByKeywords
Sección titulada «findByKeywords»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| findByKeywords(List |
List |
Devuelve una lista de resultados filtrados por los valores del parámetro keywords. |
Ejemplo:
package com.openkm;
import java.util.Arrays;
import com.openkm.sdk4j.OKMWebservices;import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.QueryResult;
public class Test { public static void main(String[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password);
try { for (QueryResult qr : ws.findByKeywords(Arrays.asList("test"))) { System.out.println(qr); } } catch (Exception e) { e.printStackTrace(); } }}Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| find(QueryParams queryParams, String propertiesPlugin) | List |
Devuelve una lista de resultados filtrados por los valores del parámetro queryParams. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservices;import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.QueryParams;import com.openkm.sdk4j.bean.QueryResult;
public class Test { public static void main(String[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password);
try { QueryParams qParams = new QueryParams(); qParams.setDomain(QueryParams.DOCUMENT); qParams.setName("test*.html");
for (QueryResult qr : ws.find(qParams, null)) { System.out.println(qr); } } catch (Exception e) { e.printStackTrace(); } }}findPaginated
Sección titulada «findPaginated»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| findPaginated(QueryParams queryParams, int offset, int limit, String propertiesPlugin) | ResultSet | Devuelve una lista de resultados paginados filtrados por los valores del parámetro queryParams. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservices;import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.QueryParams;import com.openkm.sdk4j.bean.QueryResult;import com.openkm.sdk4j.bean.ResultSet;
public class Test { public static void main(String[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password);
try { QueryParams qParams = new QueryParams(); qParams.setDomain(QueryParams.DOCUMENT); qParams.setName("test*.html"); ResultSet rs = ws.findPaginated(qParams, 20, 10, null); System.out.println("Total results:"+rs.getTotal());
for (QueryResult qr : rs.getResults()) { System.out.println(qr); } } catch (Exception e) { e.printStackTrace(); } }}findSimpleQueryPaginated
Sección titulada «findSimpleQueryPaginated»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| findSimpleQueryPaginated(String statement, int offset, int limit) | ResultSet | Devuelve una lista de resultados paginados filtrados por los valores del parámetro statement. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservices;import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.QueryResult;import com.openkm.sdk4j.bean.ResultSet;
public class Test { public static void main(String[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password);
try { ResultSet rs = ws.findSimpleQueryPaginated("name:grial", 20, 10); System.out.println("Total results:"+rs.getTotal());
for (QueryResult qr : rs.getResults()) { System.out.println(qr); } } catch (Exception e) { e.printStackTrace(); } }}findMoreLikeThis
Sección titulada «findMoreLikeThis»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| findMoreLikeThis(String uuid, int max) | ResultSet | Devuelve una lista de documentos que el motor de búsqueda considera similares. |
El uuid es el UUID de un documento.
El valor max se usa para limitar el número de resultados devueltos.
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservices;import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.QueryResult;import com.openkm.sdk4j.bean.ResultSet;
public class Test { public static void main(String[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password);
try { ResultSet rs = ws.findMoreLikeThis("f123a950-0329-4d62-8328-0ff500fd42db", 100); System.out.println("Total results:"+rs.getTotal());
for (QueryResult qr : rs.getResults()) { System.out.println(qr); } } catch (Exception e) { e.printStackTrace(); } }}getKeywordMap
Sección titulada «getKeywordMap»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getKeywordMap(List |
Map<String, Integer> | Devuelve un mapa de palabras clave con su contador, filtrado por otras palabras clave. |
Ejemplo:
package com.openkm;
import java.util.ArrayList;import java.util.Arrays;import java.util.Map;
import com.openkm.sdk4j.OKMWebservices;import com.openkm.sdk4j.OKMWebservicesFactory;
public class Test { public static void main(String[] args) { String host = "http://localhost:8180/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password);
try { // All keywords without filtering System.out.println("Without filtering"); Map<String, Integer> keywords = ws.getKeywordMap(new ArrayList<String>());
for (String key : keywords.keySet()) { System.out.println(key + " is used :" + keywords.get(key) ); }
// Keywords filtered System.out.println("Filtering"); keywords = ws.getKeywordMap(Arrays.asList("test"));
for (String key : keywords.keySet()) { System.out.println(key + " is used :" + keywords.get(key) ); } } catch (Exception e) { e.printStackTrace(); } }}getCategorizedDocuments
Sección titulada «getCategorizedDocuments»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getCategorizedDocuments(String categoryId) | List |
Recupera una lista de todos los documentos relacionados con una categoría. |
El valor del parámetro categoryId debe ser el UUID o la ruta (path) de una carpeta de categoría.
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservices;import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.Document;
public class Test { public static void main(String[] args) { String host = "http://localhost:8180/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password);
try { for (Document doc : ws.getCategorizedDocuments("/okm:categories/invoices")) { System.out.println(doc); } } catch (Exception e) { e.printStackTrace(); } }}saveSearch
Sección titulada «saveSearch»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| saveSearch(QueryParams params) | Long | Guarda unos parámetros de búsqueda. |
La variable queryName del parámetro params debe estar inicializada.
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservices;import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.QueryParams;import com.openkm.sdk4j.bean.QueryResult;
public class Test { public static void main(String[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password); try { QueryParams qParams = new QueryParams(); qParams.setDomain(QueryParams.DOCUMENT); qParams.setName("test*.html"); for (QueryResult qr : ws.find(qParams,null)) { System.out.println(qr); } // Save the search to be used later qParams.setQueryName("sample search"); ws.saveSearch(qParams); } catch (Exception e) { e.printStackTrace(); } }}updateSearch
Sección titulada «updateSearch»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| updateSearch(QueryParams params) | void | Actualiza unos parámetros de búsqueda guardados previamente. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservices;import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.QueryParams;
public class Test { public static void main(String[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password);
try { for (QueryParams qParams : ws.getAllSearchs()) { if (qParams.getQueryName().equals("sample search")) { // Change some value. qParams.setName("admin*.html"); ws.updateSearch(qParams); } } } catch (Exception e) { e.printStackTrace(); } }}getSearch
Sección titulada «getSearch»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getSearch(int qpId) | QueryParams | Obtiene los parámetros de una búsqueda guardada. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservices;import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.QueryParams;
public class Test { public static void main(String[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password);
try { int qpId = 12; // Some valid search id QueryParams qParams = ws.getSearch(qpId); System.out.println(qParams); } catch (Exception e) { e.printStackTrace(); } }}getAllSearchs
Sección titulada «getAllSearchs»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getAllSearchs() | List |
Recupera una lista de todos los parámetros de búsqueda guardados. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservices;import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.QueryParams;
public class Test { public static void main(String[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password);
try { for (QueryParams qParams : ws.getAllSearchs()) { System.out.println(qParams); } } catch (Exception e) { e.printStackTrace(); } }}deleteSearch
Sección titulada «deleteSearch»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| deleteSearch(int qpId) | void | Elimina unos parámetros de búsqueda guardados. |
Ejemplo:
package com.openkm;
import com.openkm.sdk4j.OKMWebservices;import com.openkm.sdk4j.OKMWebservicesFactory;
public class Test { public static void main(String[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password);
try { int qpId = 12; // Some valid search id ws.deleteSearch(qpId); } catch (Exception e) { e.printStackTrace(); } }}