Search samples
Aspectos básicos
Sección titulada «Aspectos básicos»La mayoría de los métodos usan QueryParams; aquí tiene algunos consejos sobre cómo usarlo.
| 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, use el valor: <br>(QueryParams.DOCUMENT | QueryParams.FOLDER) <br> |
Restringe la búsqueda a un tipo de nodo. |
| author | String | No. | El valor debe ser un userId válido. | Filtra por el usuario creador. |
| name | String | Sí. | Filtra por el nombre del nodo. | |
| title | String | Sí. | Filtra por el nombre del título. | |
| keywords | List |
Sí. | Filtra por palabras clave. | |
| categories | List |
No. | Los valores deben ser UUID de categoría; no utilice una 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 el tipo MIME del documento. | |
| language | No. | El valor debe ser un idioma válido. Solo puede aplicarse a nodos de tipo documento. |
Filtra por el idioma del documento. | |
| folder | No. | Si está vacío, se usa 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 como 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 tipo correo. | Filtra por el campo asunto del correo. |
| mailFrom | String | Sí. | Solo se aplica a nodos de tipo correo. | Filtra por el campo From del correo. |
| mailTo | Sí. | Solo se aplica a nodos de tipo correo. | Filtra por el campo To del correo. | |
| notes | Sí. | Filtra por notas. | ||
| properties | Dictionary<String, String> | Sí, en casi todos. | Los comodines no pueden aplicarse a valores de campos de metadatos como “date”. El diccionario de propiedades se compone de pares: (‘nombre_campo_metadatos’,’valor_campo_metadatos”) Por ejemplo: <br>Dictionary<String, String> properties = new Dictionary<String, String>();<br>properties.Add("okp:consulting.name", "name value")<br>Filtrando por un rango de fechas: <br> DateTime date = DateTime.Now;// today<br> DateTime to = new DateTime(date.Year, date.Month, date.Day, date.Hour, date.Minute, date.Second, date.Millisecond); <br> DateTime from = to.AddDays(-3);// three days before<br> Dictionary<String,String> properties = new Dictionary<String,String>();<br> properties.Add("okp:consulting.date", ISO8601.formatBasic(from)+","+ISO8601.formatBasic(to));<br>Al filtrar por un 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 múltiple como este: <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: <br>properties.Add("okp:consulting.multiple", "one;two");<br>Donde “one” y “two” son valores válidos y el carácter “;” se usa como separador. |
Filtra por valores de un grupo de metadatos. |
Ejemplos de comodines:
| Variable | Ejemplo | Descripción |
|---|---|---|
| name | test*.html | Cualquier documento que empiece por los caracteres “test” y termine por los caracteres “.html” |
| name | test?.html | Cualquier documento que empiece por los caracteres “test” seguidos de un único carácter y termine por los caracteres “.html” |
| name | ?test* | Cualquier documento en el que el primer carácter no importa, pero va seguido de los caracteres “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:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { foreach (QueryResult qr in ws.findByContent("test")) { System.Console.WriteLine(qr); } } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}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:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { foreach (QueryResult qr in ws.findByName("?test*")) { System.Console.WriteLine(qr); } } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}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:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { List<string> keywords = new List<string>(); keywords.Add("test"); foreach (QueryResult qr in ws.findByKeywords(keywords)) { System.Console.WriteLine(qr); } } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}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:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { QueryParams qParams = new QueryParams(); qParams.domain = QueryParams.DOCUMENT; qParams.name = "test*.html"; foreach (QueryResult qr in ws.find(qParams, null)) { System.Console.WriteLine(qr); } } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}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:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { QueryParams qParams = new QueryParams(); qParams.domain = QueryParams.DOCUMENT; qParams.name = "test*.html"; ResultSet rs = ws.findPaginated(qParams, 20, 10, null); System.Console.WriteLine("Total results:" + rs.total);
foreach (QueryResult qr in rs.results) { System.Console.WriteLine(qr); } } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}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:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { ResultSet rs = ws.findSimpleQueryPaginated(20, 10, "name:grial"); System.Console.WriteLine("Total results:" + rs.total); foreach (QueryResult qr in rs.results) { System.Console.WriteLine(qr); } } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}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:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { ResultSet rs = ws.findMoreLikeThis("c5cb1982-1a99-4741-8a07-a319b9ac3459", 100); System.Console.WriteLine("Total results:" + rs.total); foreach (QueryResult qr in rs.results) { System.Console.WriteLine(qr); } } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}getKeywordMap
Sección titulada «getKeywordMap»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getKeywordMap(String[] filter) | Dictionary<String, Integer> | Devuelve un mapa de palabras clave con su contador, filtrado por otras palabras clave. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { // All keywords without filtering System.Console.WriteLine("Without filtering"); Dictionary<String, int> keywords = ws.getKeywordMap(new String[]{"test", "test2"}); foreach (KeyValuePair<string,int> kvp in keywords) { System.Console.WriteLine(kvp.Key + " is used :" + kvp.Value); } // Keywords filtered System.Console.WriteLine("Filtering"); keywords = ws.getKeywordMap(new String[]{"test"}); foreach (KeyValuePair<string,int> kvp in keywords) { System.Console.WriteLine(kvp.Key + " is used :" + kvp.Value); } } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}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. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8180/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { foreach (Document doc in ws.getCategorizedDocuments("/okm:categories/invoices")) { System.Console.WriteLine(doc); } } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}saveSearch
Sección titulada «saveSearch»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| saveSearch(QueryParams params) | Long | Guarda parámetros de búsqueda. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { QueryParams qParams = new QueryParams(); qParams.domain = QueryParams.DOCUMENT; qParams.name = "test*.html"; foreach (QueryResult qr in ws.find(qParams)) { System.Console.WriteLine(qr); } // Save the search to be used later qParams.queryName = "sample search"; ws.saveSearch(qParams); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}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:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { foreach (QueryParams qParams in ws.getAllSearchs()) { if (qParams.queryName.Equals("sample search")) { // Change some value. qParams.name = "admin*.html"; ws.updateSearch(qParams); } } } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}getSearch
Sección titulada «getSearch»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| getSearch(int qpId) | QueryParams | Obtiene los parámetros de las búsquedas guardadas. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { int qpId = 1; // Some valid search id QueryParams qParams = ws.getSearch(qpId); System.Console.WriteLine(qParams); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}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:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { foreach (QueryParams qParams in ws.getAllSearchs()) { System.Console.WriteLine(qParams); } } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}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:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { int qpId = 1; // Some valid search id ws.deleteSearch(qpId); } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}findByQueryPaginated
Sección titulada «findByQueryPaginated»Descripción:
| Método | Valores de retorno | Descripción |
|---|---|---|
| findByQueryPaginated(int offset, int limit, String query, String propertiesPlugin) | ResultSet | Devuelve una lista de resultados paginados filtrados por los valores de los parámetros. |
Ejemplo:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean;
namespace OKMRest{ public class Program { static void Main(string[] args) { String host = "http://localhost:8080/OpenKM"; String username = "okmAdmin"; String password = "admin"; OKMWebservice ws = OKMWebservicesFactory.newInstance(host, username, password); try { ResultSet rs = ws.findByQueryPaginated(20, 10, "name:grial", null); System.Console.WriteLine("Total results:" + rs.total); foreach (QueryResult qr in rs.results) { System.Console.WriteLine(qr); } } catch (Exception e) { System.Console.WriteLine(e.ToString()); } } }}