Search samples
Basics
Section titled “Basics”Almost all methods use QueryParams. Here are some tips about how to use it.
| 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> |
Restricts the search to node types. |
| author | String | No. | Value must be a valid userId. | Filters by the creator user. |
| name | String | Yes. | Filters by node name. | |
| title | String | Yes. | Filters by title. | |
| keywords | Set |
Yes. | Filters by keywords. | |
| categories | Set |
No. | Values should be a category UUID; do not use a path value. | Filters by categories. |
| content | Yes. | Filters by binary content. | ||
| mimeType | No. | Value should be a valid and registered MIME type. Only can be applied to documents node. |
Filters by document MIME type. | |
| language | No. | Value should be a valid language. Only can be applied to documents node. |
Filters by document language. | |
| folder | No. | When empty, the “/okm:root” node is used by default. Value should be a valid UUID; do not use a path value. |
Filters by a folder. | |
| folderRecursive | Boolean | No. | It only makes sense to set this variable to true when the folder variable is not empty. | Enables recursive filtering by a folder. |
| lastModifiedFrom | Calendar | No. | Filters nodes created after a date. | |
| lastModifiedTo | Calendar | No. | Filters nodes created before a date. | |
| mailSubject | String | Yes. | Only applies to mail nodes. | Filters by the mail subject field. |
| mailFrom | String | Yes. | Only applies to mail nodes. | Filters by the mail from field. |
| mailTo | Yes. | Only applies to mail nodes. | Filters by the mail to field. | |
| notes | Yes. | Filters by notes. | ||
| properties | Map<String, String> | Yes for almost all. | On metadata field values like “date”, wildcards cannot be applied. The map of the properties is composed of pairs: (‘metadata_field_name’,‘metadata_field_value’) For example: <br>Map<String, String> properties = new HashMap();<br>properties.put("okp:consulting.name", "name value");<br>Filtering by range of dates: <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>When filtering by a range of dates you must set both values (from and to); otherwise the filter will be ignored by OpenKM. To filter by a metadata field of type multiple like this: 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>You should do: bash<br>properties.put("okp:consulting.multiple", "one;two");<br>Where “one” and “two” are valid values and the character “;” is used as a separator. |
Filters by metadata group values. |
Wildcard examples:
| Variable | Example | Description |
|---|---|---|
| name | test*.html | Any document that starts with “test” and ends with “.html”. |
| name | test?.html | Any document that starts with “test” followed by a single character and ends with “.html”. |
| name | ?test* | Any document where the first character doesn’t matter but is followed by “test”. |
Suggested code sample
Section titled “Suggested code sample”First, you must create the webservice object:
OKMWebservices ws = OKMWebservicesFactory.getInstance(host);Then you should log in using the method “login”. You can access the “login” method from the webservice object “ws” as shown below:
ws.login(user, password);At this point you can use all the Search methods from the “search” class as 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:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.QueryParams;import com.openkm.sdk4j.bean.QueryResult;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); QueryParams params = new QueryParams(); params.setDomain(QueryParams.DOCUMENT + QueryParams.FOLDER); params.setName("test*");
for (QueryResult qr : ws.search.find(params, null)) { System.out.println(qr); } } catch (Exception e) { e.printStackTrace(); } }}Description:
| Method | Return values | Description |
|---|---|---|
| find(QueryParams queryParams, String sortField, boolean sortReverse, String propertiesPlugin) | List |
Returns a list of results filtered by the values of the queryParams parameter. |
Example:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.QueryParams;import com.openkm.sdk4j.bean.QueryResult;import com.openkm.sdk4j.bean.ResultSet;import com.openkm.sdk4j.bean.SearchSortField;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); QueryParams params = new QueryParams(); params.setDomain(QueryParams.DOCUMENT + QueryParams.FOLDER); params.setName("test*");
for (QueryResult qr : ws.search.find(params, SearchSortField.LAST_MODIFIED, true, null)) { System.out.println(qr); } } catch (Exception e) { e.printStackTrace(); } }}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:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.*;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); QueryParams params = new QueryParams(); params.setDomain(QueryParams.DOCUMENT + QueryParams.FOLDER); params.setName("test*"); SimpleNodeBaseResultSet rs = ws.search.findSimpleNodeBasePaginated(params, 20, 10); System.out.println("Total results: " + rs.getTotal());
for (SimpleNodeBase sn : rs.getResults()) { System.out.println(sn); } } catch (Exception e) { e.printStackTrace(); } }}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:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.*;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); QueryParams params = new QueryParams(); params.setDomain(QueryParams.DOCUMENT + QueryParams.FOLDER); params.setName("test*");
SimpleNodeBaseResultSet result = ws.search.findSimpleNodeBasePaginated(params, SearchSortField.AUTHOR, true, 0, 10); System.out.println("Total: " + result.getTotal()); for (SimpleNodeBase nodeBase : result.getResults()) { if (nodeBase != null) { System.out.println(nodeBase.toString()); } } } catch (Exception e) { e.printStackTrace(); } }}findSimpleNodeBasePaginated
Section titled “findSimpleNodeBasePaginated”Description:
| Method | Return values | Description |
|---|---|---|
| findSimpleNodeBasePaginated(QueryParams queryParams, String sortField, boolean sortReverse, int offset, int limit, String pluginName) | SimpleNodeBaseResultSet | Returns a list of SimpleNodeBase paginated results filtered by the values of the queryParams parameter. |
Example:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.*;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password);
QueryParams params = new QueryParams(); params.setDomain(QueryParams.DOCUMENT + QueryParams.FOLDER); params.setName("test*"); SimpleNodeBaseResultSet result = ws.search.findSimpleNodeBasePaginated(params, SearchSortField.AUTHOR, true, 0, 10, "com.openkm.plugin.search.TestNodeSearch"); System.out.println("Total: " + result.getTotal()); for (SimpleNodeBase nodeBase : result.getResults()) { if (nodeBase != null) { System.out.println(nodeBase.toString()); } } } catch (Exception e) { e.printStackTrace(); } }}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.
Example:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.Document;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); for (Document doc : ws.search.getCategorizedDocuments("58c9b25f-d83e-4006-bd78-e26d7c6fb648")) { System.out.println(doc); } } catch (Exception e) { e.printStackTrace(); } }}saveSearch
Section titled “saveSearch”Description:
| Method | Return values | Description |
|---|---|---|
| saveSearch(QueryParams params) | Long | Saves a search parameters. |
The queryName variable of the params parameter must be initialized.
Example:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.QueryParams;import com.openkm.sdk4j.bean.QueryResult;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); QueryParams qParams = new QueryParams(); qParams.setDomain(QueryParams.DOCUMENT + QueryParams.FOLDER); qParams.setName("test*"); for (QueryResult qr : ws.find(qParams, null)) { System.out.println(qr); } // Save the search to be used later qParams.setQueryName("sample search"); ws.search.saveSearch(qParams); } catch (Exception e) { e.printStackTrace(); } }}updateSearch
Section titled “updateSearch”Description:
| Method | Return values | Description |
|---|---|---|
| updateSearch(QueryParams params) | void | Updates previously saved search parameters. |
Example:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.QueryParams;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); for (QueryParams qParams : ws.getAllSearchs()) { if (qParams.getQueryName().equals("sample search")) { // Change some value. qParams.setName("admin*.html"); ws.search.updateSearch(qParams); } } } catch (Exception e) { e.printStackTrace(); } }}getSearch
Section titled “getSearch”Description:
| Method | Return values | Description |
|---|---|---|
| getSearch(int qpId) | QueryParams | Gets saved search parameters. |
Example:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.QueryParams;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); int qpId = 1; // Some valid search id QueryParams qParams = ws.search.getSearch(qpId); System.out.println(qParams); } catch (Exception e) { e.printStackTrace(); } }}getAllSearches
Section titled “getAllSearches”Description:
| Method | Return values | Description |
|---|---|---|
| getAllSearches() | List |
Retrieves a list of all saved search parameters. |
Example:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.QueryParams;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); for (QueryParams qParams : ws.search.getAllSearches()) { System.out.println(qParams); } } catch (Exception e) { e.printStackTrace(); } }}deleteSearch
Section titled “deleteSearch”Description:
| Method | Return values | Description |
|---|---|---|
| deleteSearch(int qpId) | void | Deletes a saved search parameters. |
Example:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); int qpId = 1; // Some valid search id ws.search.deleteSearch(qpId); } catch (Exception e) { e.printStackTrace(); } }}getSearchConfig
Section titled “getSearchConfig”Description:
| Method | Return values | Description |
|---|---|---|
| getSearchConfig(String pluginName) | NodeSearchConfig | Return a NodeSearchConfig object. |
Example:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.NodeSearchConfig;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password);
NodeSearchConfig nodeSearchConfig = ws.search.getSearchConfig("com.openkm.plugin.search.TestNodeSearch"); System.out.println(nodeSearchConfig); } catch (Exception e) { e.printStackTrace(); } }}findAllDefaultByNodeClass
Section titled “findAllDefaultByNodeClass”Description:
| Method | Return values | Description |
|---|---|---|
| findAllDefaultByNodeClass(long ncId) | List |
Retrieve a list of saved searches of a NodeClass |
Example:
package com.openkm;
import java.util.List;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.QueryParams;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); long ncId = 1; List<QueryParams> results = ws.search.findAllDefaultByNodeClass(ncId); for (QueryParams params : results) { System.out.println(params); } } catch (Exception e) { e.printStackTrace(); } }}findByQuery
Section titled “findByQuery”Description:
| Method | Return values | Description |
|---|---|---|
| findByQuery(String query, String propertiesPlugin) | List |
Returns a list of results filtered by the query parameter. |
Example:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.*;import com.openkm.sdk4j.impl.OKMWebservices;
import java.util.List;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); List<QueryResult> results = ws.search.findByQuery("keyword:test AND name:t*.pdf", null); for (QueryResult qr : results) { System.out.println(qr); } } catch (Exception e) { e.printStackTrace(); } }}findByQuery
Section titled “findByQuery”Description:
| Method | Return values | Description |
|---|---|---|
| findByQuery(String query, String sortField, boolean sortReverse, String propertiesPlugin) | List |
Returns a list of results filtered by the query parameter. |
Example:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.*;import com.openkm.sdk4j.impl.OKMWebservices;
import java.util.List;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); List<QueryResult> results = ws.search.findByQuery("keyword:test AND name:t*.pdf", SearchSortField.NAME, true, null); for (QueryResult qr : results) { System.out.println(qr); } } catch (Exception e) { e.printStackTrace(); } }}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:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.SimpleNodeBase;import com.openkm.sdk4j.bean.SimpleNodeBaseResultSet;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); SimpleNodeBaseResultSet result = ws.search.findSimpleNodeBaseByQueryPaginated("text:grial AND name:t*.pdF", 0, 10); for (SimpleNodeBase nodeBase : result.getResults()) { if (nodeBase != null) { System.out.println(nodeBase.toString()); } } System.out.println("Total: " + result.getTotal()); } catch (Exception e) { e.printStackTrace(); } }}findSimpleNodeBaseByQueryPaginated
Section titled “findSimpleNodeBaseByQueryPaginated”Description:
| Method | Return values | Description |
|---|---|---|
| findSimpleNodeBaseByQueryPaginated(String query, String sortField, boolean sortReverse, int offset, int limit) | SimpleNodeBaseResultSet | Returns a list of paginated results filtered by the values of the query parameter. |
Example:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.*;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); SimpleNodeBaseResultSet result = ws.search.findSimpleNodeBaseByQueryPaginated("text:grial AND name:t*.pdF", SearchSortField.NAME, true, 0, 10); System.out.println("Total: " + result.getTotal()); for (SimpleNodeBase nodeBase : result.getResults()) { if (nodeBase != null) { System.out.println(nodeBase.toString()); } } } catch (Exception e) { e.printStackTrace(); } }}findWithMetadata
Section titled “findWithMetadata”Description:
| Method | Return values | Description |
|---|---|---|
| findWithMetadata(QueryParams queryParams, String propertiesPlugin, List |
List |
Returns a list of results with metadata values filtered by the queryParams parameter. |
Example:
package com.openkm;
import java.util.ArrayList;import java.util.List;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.QueryParams;import com.openkm.sdk4j.bean.QueryResult;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); QueryParams qParams = new QueryParams(); qParams.setDomain(QueryParams.DOCUMENT + QueryParams.FOLDER); qParams.setName("test*");
List<String> groups = new ArrayList<>(); groups.add("okg:consulting");
for (QueryResult qr : ws.search.findWithMetadata(qParams, null, groups)) { System.out.println(qr); } } catch (Exception e) { e.printStackTrace(); } }}findWithMetadata
Section titled “findWithMetadata”Description:
| Method | Return values | Description |
|---|---|---|
| findWithMetadata(QueryParams queryParams, String sortField, boolean sortReverse, String propertiesPlugin, List |
List |
Returns a list of results with metadata values filtered by the queryParams parameter. |
Example:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.QueryParams;import com.openkm.sdk4j.bean.QueryResult;import com.openkm.sdk4j.bean.SearchSortField;import com.openkm.sdk4j.impl.OKMWebservices;
import java.util.ArrayList;import java.util.List;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); QueryParams params = new QueryParams(); params.setDomain(QueryParams.DOCUMENT + QueryParams.FOLDER); params.setName("test*");
List<String> groups = new ArrayList<>(); groups.add("okg:consulting"); for (QueryResult qr : ws.search.findWithMetadata(params, SearchSortField.NAME, true, null, groups)) { System.out.println(qr); }
} catch (Exception e) { e.printStackTrace(); } }}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:
package com.openkm;
import java.util.ArrayList;import java.util.List;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.QueryParams;import com.openkm.sdk4j.bean.QueryResult;import com.openkm.sdk4j.bean.ResultSet;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); QueryParams qParams = new QueryParams(); qParams.setDomain(QueryParams.DOCUMENT + QueryParams.FOLDER); qParams.setName("test*");
List<String> groups = new ArrayList<>(); groups.add("okg:consulting");
ResultSet rs = ws.search.findWithMetadataPaginated(qParams, 0, 10, null, groups); System.out.println("Total results: " + rs.getTotal());
for (QueryResult qr : rs.getResults()) { System.out.println(qr); } } catch (Exception e) { e.printStackTrace(); } }}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:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.QueryParams;import com.openkm.sdk4j.bean.QueryResult;import com.openkm.sdk4j.bean.ResultSet;import com.openkm.sdk4j.bean.SearchSortField;import com.openkm.sdk4j.impl.OKMWebservices;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); QueryParams params = new QueryParams(); params.setDomain(QueryParams.DOCUMENT + QueryParams.FOLDER); params.setName("test*");
ResultSet rs = ws.search.findWithMetadataPaginated(params, SearchSortField.AUTHOR, true, 0, 10, null, groups); System.out.println("Total results: " + rs.getTotal()); for (QueryResult qr : rs.getResults()) { System.out.println(qr); } } catch (Exception e) { e.printStackTrace(); } }}csvExport
Section titled “csvExport”Description:
| Method | Return values | Description |
|---|---|---|
| csvExport(String token, String lang, QueryParams queryParams, boolean compact) | InputStream | Export as a csv a list of results filtered by the values of the queryParams parameter. |
The parameter lang must be ISO 639-1 compliant.
Example:
package com.openkm;
import com.openkm.sdk4j.OKMWebservicesFactory;import com.openkm.sdk4j.bean.QueryParams;import com.openkm.sdk4j.impl.OKMWebservices;import org.apache.commons.io.IOUtils;
import java.io.FileOutputStream;import java.io.InputStream;import java.io.OutputStream;
public class Test {
public static void main(String[] args) { String host = "http://localhost:8080/openkm"; String user = "okmAdmin"; String password = "admin"; OKMWebservices ws = OKMWebservicesFactory.getInstance(host);
try { ws.login(user, password); QueryParams params = new QueryParams(); params.setDomain(QueryParams.DOCUMENT + QueryParams.FOLDER); params.setName("test*");
InputStream is = ws.search.csvExport("es-ES", params, false); OutputStream fos = new FileOutputStream("/home/openkm/okm/export.csv"); IOUtils.copy(is, fos); IOUtils.closeQuietly(is); IOUtils.closeQuietly(fos); } catch (Exception e) { e.printStackTrace(); } }}