Search samples
Basics
Section titled “Basics”Most methods use QueryParams here there’re some tips about how to use them.
| Variables | Type | Allow wildcards | Restrictions | Description |
|---|---|---|---|---|
| domain | long | No. | Available values: - QueryParams.DOCUMENT - QueryParams.FOLDER - QueryParams.MAIL - QueryParams.RECORD By default the value is set to QueryParams.DOCUMENT. For searching documents and folders use value: <br>(QueryParams.DOCUMENT | QueryParams.FOLDER) <br> |
Restrict the search to a node type. |
| author | String | No. | The value must be a valid userId. | Filter by creator user. |
| name | String | Yes. | Filter by node name. | |
| title | String | Yes. | Filter by title name. | |
| keywords | List |
Yes. | Filter by keywords. | |
| categories | List |
No. | Values should be categories UUID, not use path value. | Filter by categories. |
| content | Yes. | Filter by binary content. | ||
| mimeType | No. | The value should be a valid and registered MIME type. Only can be applied to documents node. |
Filter by document MIME type. | |
| language | No. | The value should be a valid language. Only can be applied to documents node. |
Filter by document language. | |
| folder | No. | When empty is used by default “/okm:root” node. The value should be a valid UUID, not use a path value. |
Filter by a folder. | |
| folderRecursive | Boolean | No. | It only makes sense to set this variable to true when the variable folder is not empty. | Enable filter recursively by a folder. |
| lastModifiedFrom | Calendar | No. | Filter by nodes created after a date. | |
| lastModifiedTo | Calendar | No. | Filter by nodes created before a date. | |
| mailSubject | String | Yes. | Only applies to mail nodes. | Filter by mail subject field. |
| mailFrom | String | Yes. | Only applies to mail nodes. | Filter by mail from the field. |
| mailTo | Yes. | Only applies to mail nodes. | Filter by mail to the field. | |
| notes | Yes. | Filter by notes. | ||
| properties | Dictionary<String, String> | Yes on almost. | On metadata field values like “date” cannot be applied wildcards. The dictionary of the properties is composed of pairs: (‘metadata_field_name’,’metada_field_value”) For example: <br>Dictionary<String, String> properties = new Dictionary<String, String>();<br>properties.Add("okp:consulting.name", "name value")<br>Filtering by a range of dates: <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>When filtering by a range of dates you must set both values ( from and to ), otherwise, the filter will be ignored from OpenKM side. To filtering by a metadata field of type multiple like this: <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>You should do: <br>properties.Add("okp:consulting.multiple", "one;two");<br>Where “one” and “two” are valid values and character “;” is used as a separator. |
Filter by metadata group values. |
Wildcard examples:
| Variable | Example | Description |
|---|---|---|
| name | test*.html | Any document that starts with the characters “test” and ends with characters “.html” |
| name | test?.html | Any document that starts with the characters “test” followed by a single character and ends with characters “.html” |
| name | ?test* | Any document where the first character doesn’t matter but is followed by the characters, “test”. |
Suggested code sample
Section titled “Suggested code sample”First, you must create the webservice object:
OKMWebservices ws = OKMWebservicesFactory.newInstance(host);Then should login using the method “login”. You can access the “login” method from webservice object “ws” as is shown below:
ws.login(user, password);At this point you can use all the Search methods from “search” class as is shown below:
ws.search.find(qParams, null)Methods
Section titled “Methods”Description:
| Method | Return values | Description |
|---|---|---|
| find(QueryParams queryParams, String propertiesPlugin) | List |
Returns a list of results filtered by the values of the queryParams parameter. |
Example:
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);
try{ws.login(user, password);QueryParams qParams = new QueryParams();qParams.domain = QueryParams.DOCUMENT;qParams.name = "test*.html";foreach (QueryResult qr in ws.search.find(qParams, null)){System.Console.WriteLine(qr);}}catch (Exception e){System.Console.WriteLine(e.ToString());}}}}Description:
| Method | Return values | Description |
|---|---|---|
| find(QueryParams queryParams, String sortField, bool sortReverse, String propertiesPlugin) | List |
Returns a list of results filtered by the values of the queryParams parameter. |
Example:
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);
try{ws.login(user, password);QueryParams _params = new QueryParams();_params.domain = QueryParams.DOCUMENT + QueryParams.FOLDER;_params.name = "test*";foreach (QueryResult qr in ws.search.find(_params, SearchSortField.LAST_MODIFIED, true, null)){Console.WriteLine(qr.toString());}}catch (Exception e){System.Console.WriteLine(e.ToString());}}}}findPaginated
Section titled “findPaginated”Description:
| Method | Return values | Description |
|---|---|---|
| findPaginated(QueryParams queryParams, int offset, int limit, String propertiesPlugin) | ResultSet | Returns a list of paginated results filtered by the values of the queryParams parameter. |
Example:
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);
try{ws.login(user, password);QueryParams qParams = new QueryParams();qParams.domain = QueryParams.DOCUMENT;qParams.name = "test*.html";ResultSet rs = ws.search.findPaginated(qParams, 0, 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());}}}}findPaginated
Section titled “findPaginated”Description:
| Method | Return values | Description |
|---|---|---|
| findPaginated(QueryParams queryParams, String sortField, bool sortReverse, int offset, int limit, String propertiesPlugin) | ResultSet | Returns a list of paginated results filtered by the values of the queryParams parameter. |
Example:
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);
try{ws.login(user, password);QueryParams qParams = new QueryParams();qParams.domain = QueryParams.DOCUMENT + QueryParams.FOLDER;qParams.name = "test*";ResultSet rs = ws.search.findPaginated(params, SearchSortField.LAST_MODIFIED, true, 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());}}}}findSimpleNodeBasePaginated
Section titled “findSimpleNodeBasePaginated”Description:
| Method | Return values | Description |
|---|---|---|
| findSimpleNodeBasePaginated(QueryParams queryParams, int offset, int limit) | SimpleNodeBaseResultSet | Returns a list of SimpleNodeBase paginated results filtered by the values of the queryParams parameter. |
Example:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean;using com.openkm.sdk4csharp.impl;
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);
try{ws.login(user, password);QueryParams qParams = new QueryParams();qParams.domain = QueryParams.DOCUMENT;qParams.name = "test*";SimpleNodeBaseResultSet snbrs = ws.search.findSimpleNodeBasePaginated(qp, 0, 10);System.Console.WriteLine("Total results:" + snbrs.total);
foreach (SimpleNodeBase snb in snbrs.results){System.Console.WriteLine(snb.toString());}}catch (Exception e){System.Console.WriteLine(e.ToString());}}}}findSimpleNodeBasePaginated
Section titled “findSimpleNodeBasePaginated”Description:
| Method | Return values | Description |
|---|---|---|
| findSimpleNodeBasePaginated(QueryParams queryParams, String sortField, boolean sortReverse, int offset, int limit) | SimpleNodeBaseResultSet | Returns a list of SimpleNodeBase paginated results filtered by the values of the queryParams parameter. |
Example:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean;using com.openkm.sdk4csharp.impl;
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);
try{ws.login(user, password);QueryParams qParams = new QueryParams();qParams.domain = QueryParams.DOCUMENT;qParams.name = "test*";SimpleNodeBaseResultSet snbrs = ws.search.findSimpleNodeBasePaginated(params, SearchSortField.AUTHOR, true, 0, 10);System.Console.WriteLine("Total results:" + snbrs.total);
foreach (SimpleNodeBase snb in snbrs.results){System.Console.WriteLine(snb.toString());}}catch (Exception e){System.Console.WriteLine(e.ToString());}}}}findSimpleNodeBasePaginated
Section titled “findSimpleNodeBasePaginated”Description:
| Method | Return values | Description |
|---|---|---|
| findSimpleNodeBasePaginated(QueryParams queryParams, String sortField, bool sortReverse, int offset, int limit, String pluginName) | SimpleNodeBaseResultSet | Returns a list of SimpleNodeBase paginated results filtered by the values of the queryParams parameter. |
Example:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using com.openkm.sdk4csharp;using com.openkm.sdk4csharp.bean;using com.openkm.sdk4csharp.impl;
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);
try{ws.login(user, password);QueryParams qp = new QueryParams();qp.name = FOLDER_NAME1 + "*";qp.domain = QueryParams.FOLDER;SimpleNodeBaseResultSet result = ws.search.findSimpleNodeBasePaginated (qp, SearchSortField.AUTHOR, true, 0, 10, "com.openkm.plugin.search.TestNodeSearch");Console.WriteLine("Total: " + result.total);foreach (SimpleNodeBase nodeBase in result.results){if (nodeBase != null){Console.WriteLine(nodeBase.toString());}}}catch (Exception e){System.Console.WriteLine(e.ToString());}}}}getKeywordMap
Section titled “getKeywordMap”Description:
| Method | Return values | Description |
|---|---|---|
| getKeywordMap(String[] filter) | Dictionary<String, int> | Returns a map of keywords with its count value filtered by other keywords. |
Example:
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);
try{ws.login(user, password);// All keywords without filteringSystem.Console.WriteLine("Without filtering");Dictionary<String, int> keywords = ws.search.getKeywordMap(new String[]{"test", "test2"});
foreach (KeyValuePair<string,int> kvp in keywords){System.Console.WriteLine(kvp.Key + " is used :" + kvp.Value);}
// Keywords filteredSystem.Console.WriteLine("Filtering");keywords = ws.search.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
Section titled “getCategorizedDocuments”Description:
| Method | Return values | Description |
|---|---|---|
| getCategorizedDocuments(String categoryId) | List |
Retrieves a list of all documents related with a category. |
The values of the categoryId parameter should be a category folder UUID or path.
Example:
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);
try{ws.login(user, password);foreach (Document doc in ws.search.getCategorizedDocuments("50b7a5b9-89d2-430e-bbc9-6a6e01662a71")){System.Console.WriteLine(doc);}}catch (Exception e){System.Console.WriteLine(e.ToString());}}}}saveSearch
Section titled “saveSearch”Description:
| Method | Return values | Description |
|---|---|---|
| saveSearch(QueryParams params) | Long | Saves search parameters. |
The variable queryName of the parameter params should have to be initialized.
Example:
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);
try{ws.login(user, password);QueryParams qParams = new QueryParams();qParams.domain = QueryParams.DOCUMENT;qParams.name = "test*.html";
foreach (QueryResult qr in ws.search.find(qParams)){System.Console.WriteLine(qr);}
// Save the search to be used laterqParams.queryName = "sample search";ws.search.saveSearch(qParams);}catch (Exception e){System.Console.WriteLine(e.ToString());}}}}updateSearch
Section titled “updateSearch”Description:
| Method | Return values | Description |
|---|---|---|
| updateSearch(QueryParams params) | void | Updates a previously saved search parameters. |
Example:
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);
try{ws.login(user, password);foreach (QueryParams qParams in ws.search.getAllSearchs()){if (qParams.queryName.Equals("sample search")){// Change some value.qParams.name = "admin*.html";ws.search.updateSearch(qParams);}}}catch (Exception e){System.Console.WriteLine(e.ToString());}}}}getSearch
Section titled “getSearch”Description:
| Method | Return values | Description |
|---|---|---|
| getSearch(int qpId) | QueryParams | Gets saved searches parameters. |
Example:
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);
try{ws.login(user, password);int qpId = 1; // Some valid search idQueryParams qParams = ws.search.getSearch(qpId);System.Console.WriteLine(qParams);}catch (Exception e){System.Console.WriteLine(e.ToString());}}}}getAllSearchs
Section titled “getAllSearchs”Description:
| Method | Return values | Description |
|---|---|---|
| getAllSearchs() | List |
Retrieves a list of all saved search parameters. |
Example:
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);
try{ws.login(user, password);foreach (QueryParams qParams in ws.search.getAllSearchs()){System.Console.WriteLine(qParams.queryName);}}catch (Exception e){System.Console.WriteLine(e.ToString());}}}}deleteSearch
Section titled “deleteSearch”Description:
| Method | Return values | Description |
|---|---|---|
| deleteSearch(int qpId) | void | Deletes a saved search parameters. |
Example:
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);
try{ws.login(user, password);int qpId = 1; // Some valid search idws.search.deleteSearch(qpId);}catch (Exception e){System.Console.WriteLine(e.ToString());}}}}getSearchConfig
Section titled “getSearchConfig”Description:
| Method | Return values | Description |
|---|---|---|
| getSearchConfig(String pluginName) | NodeSearchConfig | Return a NodeSearchConfig object. |
Example:
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);
try{ws.login(user, password);NodeSearchConfig nodeSearchConfig = ws.search.getSearchConfig("com.openkm.plugin.search.TestNodeSearch");Console.WriteLine(nodeSearchConfig.toString());}catch (Exception e){System.Console.WriteLine(e.ToString());}}}}getSearchPlugins
Section titled “getSearchPlugins”Description:
| Method | Return values | Description |
|---|---|---|
| getSearchPlugins() | SearchPluginList | Return a SearchPluginList object. |
Example:
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);
try{ws.login(user, password);SearchPluginList pluginList = ws.search.getSearchPlugins();foreach (SearchPlugin searchPlugin in pluginList.searchPlugins){Console.WriteLine(searchPlugin.toString());}}catch (Exception e){System.Console.WriteLine(e.ToString());}}}}findByQueryPaginated
Section titled “findByQueryPaginated”Description:
| Method | Return values | Description |
|---|---|---|
| findByQueryPaginated(int offset, int limit, String query, String propertiesPlugin) | ResultSet | Returns a list of paginated results filtered by the values of the parameters. |
Example:
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);
try{ws.login(user, password);ResultSet rs = ws.search.findByQueryPaginated(0, 10 ,"name:t*.pdf", 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());}}}}findByQueryPaginated
Section titled “findByQueryPaginated”Description:
| Method | Return values | Description |
|---|---|---|
| findByQueryPaginated(String query, String sortField, boolean sortReverse, int offset, int limit, String propertiesPlugin) | ResultSet | Returns a list of paginated results filtered by the values of the query parameter. |
Example:
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);
try{ws.login(user, password);ResultSet rs = ws.search.findByQueryPaginated("text:grial AND name:t*.pdf", SearchSortField.NAME, true, 0, 10, null);Console.WriteLine("Total results:" + rs.total.ToString());foreach (QueryResult qr in rs.results){Console.WriteLine(qr.toString());}}catch (Exception e){System.Console.WriteLine(e.ToString());}}}}findSimpleNodeBaseByQueryPaginated
Section titled “findSimpleNodeBaseByQueryPaginated”Description:
| Method | Return values | Description |
|---|---|---|
| findSimpleNodeBaseByQueryPaginated(String query, int offset, int limit) | SimpleNodeBaseResultSet | Returns a list of paginated results filtered by the values of the query parameter. |
Example:
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);
try{ws.login(user, password);SimpleNodeBaseResultSet snbr = ws.search.findSimpleNodeBaseByQueryPaginated("text:grial AND name:t*.pdF", 0, 10);
foreach (SimpleNodeBase nodeBase in snbr.results){if(nodeBase != null){System.Console.WriteLine(nodeBase.toString());}}}catch (Exception e){System.Console.WriteLine(e.ToString());}}}}findSimpleNodeBaseByQueryPaginated
Section titled “findSimpleNodeBaseByQueryPaginated”Description:
| Method | Return values | Description |
|---|---|---|
| findSimpleNodeBaseByQueryPaginated(String query, String sortField, bool sortReverse, int offset, int limit) | SimpleNodeBaseResultSet | Returns a list of paginated results filtered by the values of the query parameter. |
Example:
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);
try{ws.login(user, password);SimpleNodeBaseResultSet snbr= ws.search.findSimpleNodeBaseByQueryPaginated("text:grial AND name:t*.pdF", SearchSortField.NAME, true, 0, 10);
foreach (SimpleNodeBase nodeBase in snbr.results){if(nodeBase != null){System.Console.WriteLine(nodeBase.toString());}}}catch (Exception e){System.Console.WriteLine(e.ToString());}}}}findByQuery
Section titled “findByQuery”Description:
| Method | Return values | Description |
|---|---|---|
| findByQuery(String query, String propertiesPlugin) | List |
Returns a list of results filtered by the values of the queryParams parameter. |
Example:
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);
try{ws.login(user, password);foreach (QueryResult qr in ws.search.findByQuery("keyword:test AND name:t*.pdf", null)){System.Console.WriteLine(qr);}}catch (Exception e){System.Console.WriteLine(e.ToString());}}}}findByQuery
Section titled “findByQuery”Description:
| Method | Return values | Description |
|---|---|---|
| findByQuery(String query, String sortField, bool sortReverse, String propertiesPlugin) | List |
Returns a list of results filtered by the query parameter. |
Example:
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);
try{ws.login(user, password);foreach (QueryResult qr in ws.search.findByQuery("keyword: test", SearchSortField.NAME, true, null)){System.Console.WriteLine(qr);}}catch (Exception e){System.Console.WriteLine(e.ToString());}}}}findAllDefaultByNodeClass
Section titled “findAllDefaultByNodeClass”Description:
| Method | Return values | Description |
|---|---|---|
| findAllDefaultByNodeClass(long ncId) | List |
Retrieve a list of saved searches of a NodeClass. |
Example:
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);
try{ws.login(user, password);long ncId = 1;List<QueryParams> queryParams = ws.search.findAllDefaultByNodeClass(ncId);foreach (QueryParams qParams in queryParams){System.Console.WriteLine(qParams.queryName);}}catch (Exception e){System.Console.WriteLine(e.ToString());}}}}findWithMetadata
Section titled “findWithMetadata”Description:
| Method | Return values | Description |
|---|---|---|
| findWithMetadata(QueryParams _params, String propertiesPlugin, List |
List |
Returns a list of results with metadata values filtered by the queryParams parameter. |
Example:
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);
try{ws.login(user, password);// QueryParamsQueryParams qp = new QueryParams();qp.folderRecursive = true;qp.domain = QueryParams.DOCUMENT | QueryParams.FOLDER | QueryParams.RECORD | QueryParams.MAIL;qp.name = "test*";
// PropertiesDictionary<string, string> properties = new Dictionary<string, string>();properties.Add("okp:consulting.name", "test");qp.properties = properties;
// GroupsList<string> groups = new List<string>();groups.Add("okg:consulting");
List<QueryResult> queryResults = ws.search.findWithMetadata(qp, null, groups);foreach (QueryResult qResult in queryResults){System.Console.WriteLine(qResult.toString());}}catch (Exception e){System.Console.WriteLine(e.ToString());}}}}findWithMetadata
Section titled “findWithMetadata”Description:
| Method | Return values | Description |
|---|---|---|
| findWithMetadata(QueryParams queryParams, String sortField, bool sortReverse, String propertiesPlugin, List |
List |
Returns a list of results with metadata values filtered by the queryParams parameter. |
Example:
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);
try{ws.login(user, password);// QueryParamsQueryParams qp = new QueryParams();qp.folderRecursive = true;qp.domain = QueryParams.DOCUMENT | QueryParams.FOLDER | QueryParams.RECORD | QueryParams.MAIL;qp.name = "test*";
// PropertiesDictionary<string, string> properties = new Dictionary<string, string>();properties.Add("okp:consulting.name", "test");qp.properties = properties;
// GroupsList<string> groups = new List<string>();groups.Add("okg:consulting");
List<QueryResult> queryResults = ws.search.findWithMetadata(qp, SearchSortField.NAME, true, null, groups);foreach (QueryResult qr in queryResults){Console.WriteLine(qr.toString());}}catch (Exception e){System.Console.WriteLine(e.ToString());}}}}findWithMetadataPaginated
Section titled “findWithMetadataPaginated”Description:
| Method | Return values | Description |
|---|---|---|
| findWithMetadataPaginated(QueryParams queryParams, int offset, int limit, String propertiesPlugin, List |
ResultSet | Returns a list of paginated results with metadata values filtered by the queryParams parameter. |
Example:
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);
try{ws.login(user, password);// QueryParamsQueryParams qp = new QueryParams();qp.domain = QueryParams.DOCUMENT | QueryParams.FOLDER | QueryParams.RECORD | QueryParams.MAIL;qp.name = "test*";
// PropertiesDictionary<string, string> properties = new Dictionary<string, string>();properties.Add("okp:consulting.name", "test");qp.properties = properties;
// GroupsList<string> groups = new List<string>();groups.Add("okg:consulting");
ResultSet resulSet = ws.search.findWithMetadataPaginated(qp, 0, 10, null, groups);System.Console.WriteLine("Total results: " + rs.total.ToString());}catch (Exception e){System.Console.WriteLine(e.ToString());}}}}findWithMetadataPaginated
Section titled “findWithMetadataPaginated”Description:
| Method | Return values | Description |
|---|---|---|
| findWithMetadataPaginated(QueryParams queryParams, String sortField, bool sortReverse, int offset, int limit, String propertiesPlugin, List |
ResultSet | Returns a list of paginated results with metadata values filtered by the queryParams parameter. |
Example:
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);
try{ws.login(user, password);// QueryParamsQueryParams qp = new QueryParams();qp.domain = QueryParams.DOCUMENT | QueryParams.FOLDER | QueryParams.RECORD | QueryParams.MAIL;qp.name = "test*";
// PropertiesDictionary<string, string> properties = new Dictionary<string, string>();properties.Add("okp:consulting.name", "test");qp.properties = properties;
// GroupsList<string> groups = new List<string>();groups.Add("okg:consulting");
ResultSet rs = ws.search.findWithMetadataPaginated(qp, SearchSortField.AUTHOR, true, 0, 10, null, groups);Console.WriteLine("Total results: " + rs.total.ToString());foreach (QueryResult qr in rs.results){Console.WriteLine(qr.toString());}}catch (Exception e){System.Console.WriteLine(e.ToString());}}}}getMimeTypes
Section titled “getMimeTypes”Description:
| Method | Return values | Description |
|---|---|---|
| getMimeTypes() | List |
Retrieves a list of mimetypes. |
Example:
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);
try{ws.login(user, password);foreach (MimeType mimeType in ws.search.getMimeTypes()){System.Console.WriteLine(mimeType.toString());}}catch (Exception e){System.Console.WriteLine(e.ToString());}}}}csvExport
Section titled “csvExport”Description:
| Method | Return values | Description |
|---|---|---|
| csvExport(String lang, QueryParams queryParams, bool compact) | InputStream | Export as a csv a list of results filtered by the values of the queryParams parameter. |
The parameter lang must be ISO 691-1 compliant.
Example:
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);
try{ws.login(user, password);QueryParams _params = new QueryParams();_params.domain = QueryParams.DOCUMENT + QueryParams.FOLDER;_params.name = "test*";Stream stream = ws.search.csvExport("es-ES", _params, false);FileStream destFile = new FileStream("C:\\Testing\\export.csv", FileMode.OpenOrCreate);stream.CopyTo(destFile);destFile.Dispose();stream.Dispose();}catch (Exception e){System.Console.WriteLine(e.ToString());}}}}