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
Por defecto, el valor se establece en QueryParams.DOCUMENT.
Para buscar documentos y carpetas use 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.
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.
path No. Cuando está vacío se usa por defecto el nodo “/okm:root”.
El valor debe ser una ruta válida, no utilice un valor UUID.
Filtra 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.
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(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); // 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, el filtro será ignorado por parte de OpenKM.
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 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.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 de retorno 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 de retorno 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 de retorno 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 de retorno 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 de retorno 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 de retorno 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 de retorno 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 de retorno 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 de retorno 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 de retorno 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 de retorno 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 de retorno 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 de retorno 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 de retorno 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 de retorno 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 de retorno 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 de retorno 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 de retorno 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 de retorno 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 de retorno 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 de retorno 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 de retorno 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();
}
}
}