Ir al contenido
Otras versiones

Cargando…

OKMSearch

Casi todos los métodos utilizan QueryParams. A continuación se ofrecen algunos consejos sobre cómo utilizarlo.

Variables Tipo Admite 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 unos tipos de nodo.
author String No. El valor debe ser un userId válido. Filtra por usuario creador.
name String Sí. Filtra por nombre del nodo.
title String Sí. Filtra por título.
keywords Set Sí. Filtra por palabras clave.
categories Set No. Los valores deben ser el UUID de una categoría; no utilice la 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 documento.
Filtra por tipo MIME del documento.
language No. El valor debe ser un idioma válido.
Solo puede aplicarse a nodos de documento.
Filtra por idioma del documento.
folder No. Si está vacío, se utiliza por defecto el nodo “/okm:root”.
El valor debe ser un UUID válido; no utilice una ruta.
Filtra por una carpeta.
folderRecursive Boolean No. Solo tiene sentido establecer esta variable a true cuando la variable folder no está vacía. Habilita el filtrado recursivo por una carpeta.
lastModifiedFrom Calendar No. Filtra por nodos creados después de una fecha.
lastModifiedTo Calendar No. Filtra por nodos creados antes de una fecha.
mailSubject String Sí. Solo se aplica a nodos de correo. Filtra por el campo 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í en casi todos. En los valores de campos de metadatos como “date” no se pueden aplicar comodines.
El mapa de propiedades se compone de pares:
(‘metadata_field_name’,’metada_field_value”)
Por ejemplo:
javascript<br>Map<String, String> properties = new HashMap();<br>properties.put("okp:consulting.name", "name value");<br>
Filtrar por rango de fechas:
cs<br>Calendar to = Calendar.getInstance(); // today<br>to.set(Calendar.HOUR_OF_DAY, 0);<br>to.set(Calendar.MINUTE, 0);<br>to.set(Calendar.SECOND, 0);<br>to.set(Calendar.MILLISECOND, 0);<br>Calendar from = (Calendar) to.clone();<br>from.add(Calendar.DATE, -3); // three days before<br>Map<String,String> properties = new HashMap<>();<br>properties.put("okp:consulting.date", ISO8601.formatBasic(from)+","+ISO8601.formatBasic(to));<br>
Al filtrar por rango de fechas debe establecer ambos valores (from y to); de lo contrario, OpenKM ignorará el filtro.
Para filtrar por un campo de metadatos de tipo multiple 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>
Debería 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 del grupo de metadatos.

Ejemplos de comodines:

Variable Ejemplo Descripción
name test*.html Cualquier documento que empiece por los caracteres “test” y termine con los caracteres “.html”
name test?.html Cualquier documento que empiece por los caracteres “test”, seguidos de un único carácter, y termine con los caracteres “.html”
name ?test* Cualquiera de los documentos en los que el primer carácter no importa, pero va seguido de los caracteres “test”.

Descripción:

Método Valores devueltos 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.api.OKMSearch;
import com.openkm.bean.QueryResult;
public class Test {
public static void main(String[] args) {
try {
for (QueryResult qr : OKMSearch.getInstance().findByContent(null, "test")) {
System.out.println(qr);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
findByName(String token, String words) List Devuelve una lista de resultados filtrados por el valor del parámetro name.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMSearch;
import com.openkm.bean.QueryResult;
public class Test {
public static void main(String[] args) {
try {
for (QueryResult qr : OKMSearch.getInstance().findByName(null, "test*.html")) {
System.out.println(qr);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
findByKeywords(String token, Set words) List Devuelve una lista de resultados filtrados por los valores del parámetro keywords.

Ejemplo:

package com.openkm;
import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
import com.openkm.api.OKMSearch;
import com.openkm.bean.QueryResult;
public class Test {
public static void main(String[] args) {
try {
Set<String> keywords = new HashSet<>(Arrays.asList("test"));
for (QueryResult qr : OKMSearch.getInstance().findByKeywords(null, keywords)) {
System.out.println(qr);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
find(String token, QueryParams params) List Devuelve una lista de resultados filtrados por los valores del parámetro queryParams.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMSearch;
import com.openkm.bean.QueryResult;
import com.openkm.dao.bean.QueryParams;
public class Test {
public static void main(String[] args) {
try {
QueryParams qParams = new QueryParams();
qParams.setDomain(QueryParams.DOCUMENT);
qParams.setName("test*.html");
for (QueryResult qr : OKMSearch.getInstance().find(null, qParams)) {
System.out.println(qr);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
find(String token, QueryParams params, String propertiesPlugin) List Devuelve una lista de resultados filtrados por los valores del parámetro queryParams.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMSearch;
import com.openkm.bean.QueryResult;
import com.openkm.dao.bean.QueryParams;
public class Test {
public static void main(String[] args) {
try {
QueryParams qParams = new QueryParams();
qParams.setDomain(QueryParams.DOCUMENT);
qParams.setName("test*.html");
for (QueryResult qr : OKMSearch.getInstance().find(null, qParams, "com.openkm.plugin.properties.SimpleNodeProperties")) {
System.out.println(qr);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
findPaginated(String token, QueryParams params, int offset, int limit) ResultSet Devuelve una lista paginada de resultados filtrados por los valores del parámetro queryParams.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMSearch;
import com.openkm.bean.QueryResult;
import com.openkm.bean.ResultSet;
import com.openkm.dao.bean.QueryParams;
public class Test {
public static void main(String[] args) {
try {
QueryParams qParams = new QueryParams();
qParams.setDomain(QueryParams.DOCUMENT);
qParams.setName("test*.html");
ResultSet rs = OKMSearch.getInstance().findPaginated(null, qParams, 20, 10);
System.out.println("Total results:" + rs.getTotal());
for (QueryResult qr : rs.getResults()) {
System.out.println(qr);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
findPaginated(String token, QueryParams params, int offset, int limit, String propertiesPlugin) ResultSet Devuelve una lista paginada de resultados filtrados por los valores del parámetro queryParams.

Ejemplo:

package com.openkm;
import com.openkm.api.OKMSearch;
import com.openkm.bean.QueryResult;
import com.openkm.bean.ResultSet;
import com.openkm.dao.bean.QueryParams;
public class Test {
public static void main(String[] args) {
try {
QueryParams qParams = new QueryParams();
qParams.setDomain(QueryParams.DOCUMENT);
qParams.setName("test*.html");
ResultSet rs = OKMSearch.getInstance().findPaginated(null, qParams, 20, 10, "com.openkm.plugin.properties.SimpleNodeProperties");
System.out.println("Total results:" + rs.getTotal());
for (QueryResult qr : rs.getResults()) {
System.out.println(qr);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
List ResultSet
package com.openkm;
import com.openkm.api.OKMSearch;
import com.openkm.bean.QueryResult;
public class Test {
public static void main(String[] args) {
try {
for (QueryResult qr : OKMSearch.getInstance().findByQuery(null, "text:grial AND name:o*.pdf")) {
System.out.println(qr);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
findByQuery(String token, String query, String propertiesPlugin) ResultSet
package com.openkm;
import com.openkm.api.OKMSearch;
import com.openkm.bean.QueryResult;
public class Test {
public static void main(String[] args) {
try {
for (QueryResult qr : OKMSearch.getInstance().findByQuery(null, "text:grial AND name:o*.pdf",
"com.openkm.plugin.properties.SimpleNodeProperties")) {
System.out.println(qr);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
findByQueryPaginated(String token, String query, int offset, int limit) ResultSet
package com.openkm;
import com.openkm.api.OKMSearch;
import com.openkm.bean.QueryResult;
public class Test {
public static void main(String[] args) {
try {
for (QueryResult qr : OKMSearch.getInstance().findByQueryPaginated(null, "text:grial AND name:o*.pdf", 10, 10)) {
System.out.println(qr);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
findByQueryPaginated(String token, String query, int offset, int limit, String propertiesPlugin) ResultSet
package com.openkm;
import com.openkm.api.OKMSearch;
import com.openkm.bean.QueryResult;
public class Test {
public static void main(String[] args) {
try {
for (QueryResult qr : OKMSearch.getInstance().findByQueryPaginated(null, "text:grial AND name:o*.pdf",
10, 10, "com.openkm.plugin.properties.SimpleNodeProperties")) {
System.out.println(qr);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
saveSearch(String token, QueryParams params) Long Guarda los parámetros de una búsqueda.
package com.openkm;
import com.openkm.api.OKMSearch;
import com.openkm.dao.bean.QueryParams;
public class Test {
public static void main(String[] args) {
try {
QueryParams qParams = new QueryParams();
qParams.setDomain(QueryParams.DOCUMENT);
qParams.setName("test*.html");
// Save the search to be used later
qParams.setQueryName("sample search");
OKMSearch.getInstance().saveSearch(null, qParams);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
updateSearch(String token, QueryParams params) void Guarda los parámetros de una búsqueda.
package com.openkm;
import com.openkm.api.OKMSearch;
import com.openkm.dao.bean.QueryParams;
public class Test {
public static void main(String[] args) {
try {
for (QueryParams qParams : OKMSearch.getInstance().getAllSearchs(null)) {
if (qParams.getQueryName().equals("sample search")) {
// Change some value.
qParams.setName("admin*.html");
OKMSearch.getInstance().updateSearch(null, qParams);
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
getSearch(String token, int qpId) QueryParams Obtiene los parámetros de una búsqueda guardada.
package com.openkm;
import com.openkm.api.OKMSearch;
import com.openkm.dao.bean.QueryParams;
public class Test {
public static void main(String[] args) {
try {
int qpId = 12; // Some valid search id
QueryParams qParams = OKMSearch.getInstance().getSearch(null, qpId);
System.out.println(qParams);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
getAllSearchs(String token) List Recupera una lista con los parámetros de todas las búsquedas guardadas.
package com.openkm;
import com.openkm.api.OKMSearch;
import com.openkm.dao.bean.QueryParams;
public class Test {
public static void main(String[] args) {
try {
for (QueryParams qParams : OKMSearch.getInstance().getAllSearchs(null)) {
System.out.println(qParams);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
deleteSearch(String token, long qpId) void Elimina los parámetros de una búsqueda guardada.
package com.openkm;
import com.openkm.api.OKMSearch;
public class Test {
public static void main(String[] args) {
try {
int qpId = 12; // Some valid search id
OKMSearch.getInstance().deleteSearch(null, qpId);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
getKeywordMap(String token, List filter) Map<String, Integer> Devuelve un mapa de palabras clave con su contador, filtrado por otras palabras clave.
package com.openkm;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Map;
import com.openkm.api.OKMSearch;
public class Test {
public static void main(String[] args) {
try {
            // All keywords without filtering
System.out.println("Without filtering");
Map<String, Integer> keywords = OKMSearch.getInstance().getKeywordMap(null, new ArrayList<String>());
for (String key : keywords.keySet()) {
System.out.println(key + " is used :" + keywords.get(key) );
}
// Keywords filtered
System.out.println("Filtering");
keywords = OKMSearch.getInstance().getKeywordMap(null, Arrays.asList("test"));
for (String key : keywords.keySet()) {
System.out.println(key + " is used :" + keywords.get(key) );
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
getCategorizedDocuments(String token, String categoryId) List Recupera una lista de todos los documentos relacionados con una categoría.
package com.openkm;
import com.openkm.api.OKMSearch;
import com.openkm.bean.Document;
public class Test {
public static void main(String[] args) {
try {
for (Document doc : OKMSearch.getInstance().getCategorizedDocuments(null, "/okm:categories/invoices")) {
System.out.println(doc);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
getCategorizedFolders(String token, String categoryId) List Recupera una lista de todas las carpetas relacionadas con una categoría.
package com.openkm;
import com.openkm.api.OKMSearch;
import com.openkm.bean.Folder;
public class Test {
public static void main(String[] args) {
try {
for (Folder fld : OKMSearch.getInstance().getCategorizedFolders(null, "/okm:categories/invoices")) {
System.out.println(fld);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
getCategorizedMails(String token, String categoryId) List Recupera una lista de todos los correos relacionados con una categoría.
package com.openkm;
import com.openkm.api.OKMSearch;
import com.openkm.bean.Mail;
public class Test {
public static void main(String[] args) {
try {
for (Mail mail : OKMSearch.getInstance().getCategorizedMails(null, "/okm:categories/invoices")) {
System.out.println(mail);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
getCategorizedRecords(String token, String categoryId) List Recupera una lista de todos los registros relacionados con una categoría.
package com.openkm;
import com.openkm.api.OKMSearch;
import com.openkm.bean.Record;
public class Test {
public static void main(String[] args) {
try {
for (Record rec : OKMSearch.getInstance().getCategorizedRecords(null, "/okm:categories/invoices")) {
System.out.println(rec);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
getDocumentsByKeyword(String token, String keyword) List Recupera una lista de todos los documentos relacionados con una palabra clave.
package com.openkm;
import com.openkm.api.OKMSearch;
import com.openkm.bean.Document;
public class Test {
public static void main(String[] args) {
try {
for (Document doc : OKMSearch.getInstance().getDocumentsByKeyword(null, "test")) {
System.out.println(doc);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
getFoldersByKeyword(String token, String keyword) List Recupera una lista de todas las carpetas relacionadas con una palabra clave.
package com.openkm;
import com.openkm.api.OKMSearch;
import com.openkm.bean.Folder;
public class Test {
public static void main(String[] args) {
try {
for (Folder fld : OKMSearch.getInstance().getFoldersByKeyword(null, "test")) {
System.out.println(fld);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
getMailsByKeyword(String token, String keyword) List Recupera una lista de todos los correos relacionados con una palabra clave.
package com.openkm;
import com.openkm.api.OKMSearch;
import com.openkm.bean.Mail;
public class Test {
public static void main(String[] args) {
try {
for (Mail mail : OKMSearch.getInstance().getMailsByKeyword(null, "test")) {
System.out.println(mail);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
getRecordsByKeyword(String token, String keyword) List Recupera una lista de todos los registros relacionados con una palabra clave.
package com.openkm;
import com.openkm.api.OKMSearch;
import com.openkm.bean.Record;
public class Test {
public static void main(String[] args) {
try {
for (Record rec : OKMSearch.getInstance().getRecordsByKeyword(null, "test")) {
System.out.println(rec);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
getDocumentsByPropertyValue(String token, String group, String property, String value List Recupera una lista de todos los documentos relacionados con el valor de un campo de metadatos.
package com.openkm;
import com.openkm.api.OKMSearch;
import com.openkm.bean.Document;
public class Test {
public static void main(String[] args) {
try {
for (Document doc : OKMSearch.getInstance().getDocumentsByPropertyValue(null, "okg:consulting","okp:consulting.name","value")) {
System.out.println(doc);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
getFoldersByPropertyValue(String token, String group, String property, String value List Recupera una lista de todas las carpetas relacionadas con el valor de un campo de metadatos.
package com.openkm;
import com.openkm.api.OKMSearch;
import com.openkm.bean.Folder;
public class Test {
public static void main(String[] args) {
try {
for (Folder fld : OKMSearch.getInstance().getFoldersByPropertyValue(null, "okg:consulting","okp:consulting.name","value")) {
System.out.println(fld);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
getMailsByPropertyValue(String token, String group, String property, String value List Recupera una lista de todos los correos relacionados con el valor de un campo de metadatos.
package com.openkm;
import com.openkm.api.OKMSearch;
import com.openkm.bean.Mail;
public class Test {
public static void main(String[] args) {
try {
for (Mail mail : OKMSearch.getInstance().getMailsByPropertyValue(null, "okg:consulting","okp:consulting.name","value")) {
System.out.println(mail);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
getRecordsByPropertyValue(String token, String group, String property, String value List Recupera una lista de todos los registros relacionados con el valor de un campo de metadatos.
package com.openkm;
import com.openkm.api.OKMSearch;
import com.openkm.bean.Record;
public class Test {
public static void main(String[] args) {
try {
for (Record rec : OKMSearch.getInstance().getRecordsByPropertyValue(null, "okg:consulting","okp:consulting.name","value")) {
System.out.println(rec);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
findSimpleQuery(String token, String statement) List Devuelve una lista de resultados filtrados por los valores del parámetro statement.
package com.openkm;
import com.openkm.api.OKMSearch;
import com.openkm.bean.QueryResult;
public class Test {
public static void main(String[] args) {
try {
for (QueryResult qr : OKMSearch.getInstance().findSimpleQuery(null, "name:grial")) {
System.out.println(qr);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

Descripción:

Método Valores devueltos Descripción
findSimpleQueryPaginated(String token, String statement, int offset, int limit) ResultSet Devuelve una lista paginada de resultados filtrados por los valores del parámetro statement.
package com.openkm;
import com.openkm.api.OKMSearch;
import com.openkm.bean.QueryResult;
import com.openkm.bean.ResultSet;
public class Test {
public static void main(String[] args) {
try {
ResultSet rs = OKMSearch.getInstance().findSimpleQueryPaginated(null, "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();
}
}
}

Descripción:

Método Valores devueltos Descripción
findMoreLikeThis(String token, String uuid, int maxResults) 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 utiliza para limitar el número de resultados devueltos.
package com.openkm;
import com.openkm.api.OKMSearch;
import com.openkm.bean.QueryResult;
import com.openkm.bean.ResultSet;
public class Test {
public static void main(String[] args) {
try {
ResultSet rs = OKMSearch.getInstance().findMoreLikeThis(null, "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();
}
}
}

Descripción:

Método Valores devueltos Descripción
findMailPaginated(String token, Map<String, String> filter, String sortField, boolean sortReverse, int type,
            int offset, int limit)
ResultSet Devuelve una lista paginada de resultados de correo filtrados por los valores de los parámetros.
package com.openkm;
import java.util.HashMap;
import java.util.Map;
import com.openkm.api.OKMSearch;
import com.openkm.bean.QueryResult;
import com.openkm.bean.ResultSet;
public class Test {
public static void main(String[] args) {
try {
Map<String, String> filter = new HashMap<>();
String sortField = "okm:";
int type = OKMSearch.TYPE_MAIL_ALL;
ResultSet rs = OKMSearch.getInstance().findMailPaginated(null, filter, sortField, false, type, 0, 10);
System.out.println("Total results:"+rs.getTotal());
for (QueryResult qr : rs.getResults()) {
System.out.println(qr);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}