Ir al contenido
Otras versiones

Cargando…

Search samples

Esta página aún no está disponible en tu idioma.

Mosts methods use QueryParams. Here there’re some tips about using them.

Variables Type Allow wildcards Restrictions Description
domain long No. Available values:
- QueryParams.DOCUMENT
- QueryParams.FOLDER
- QueryParams.MAIL
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 types.
author String No. Value must be a valid userId. Filter by creator user.
name String Yes. Filter by node name.
keywords Set Yes. Filter by keywords.
categories Set No. Values should be categories UUID, not use path value. Filter by categories.
content Yes. Filter by binary content.
mimeType No. Value should be a valid and registered MIME type.
Only can be applied to documents node.
Filter by document MIME type.
path No. When empty is used by default “/okm:root” node. Filter by a folder.
lastModifiedFrom Calendar No. Filter by nodes created after a date.
lastModifiedTo Calendar No. Filter by nodes creater before a date.
mailSubject String Yes. Only apply to mail nodes. Filter by mail subject field.
mailFrom String Yes. Only apply to mail nodes. Filter by mail from field.
mailTo Yes. Only apply to mail nodes. Filter by mail to field.
properties Map<String, String> Yes on almost. On metadata field values like “date” can not be applied wilcards.
The map of the properties is composed of pairs:
(‘metadata_field_name’,’metada_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 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:
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 character “;” is used as separator.
Filter by metadata group values.

Wildcard examples:

Variable Example Description
name test*.html Any document that start with characters “test” and ends with characters “.html”
name test?.html Any document that start with characters “test” followed by a single character and ends with characters “.html”
name ?test* Any the documents where the first character doesn’t matter, but is followed by the characters, “test”.

Description:

Method Return values Description
findByContent(String content) List Returns a list of results filtered by the value of the content parameter.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservices;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.QueryResult;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8180/OpenKM";
String username = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password);
try {
            for (QueryResult qr : ws.findByContent("test")) {
                System.out.println(qr);
            }
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
findByName(String name) List Returns a list of results filtered by the value of the name parameter.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservices;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.QueryResult;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8180/OpenKM";
String username = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password);
try {
            for (QueryResult qr : ws.findByName("test*.html")) {
                System.out.println(qr);
            }
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
findByKeywords(List keywords) List Returns a list of results filtered by the values of the keywords parameter.

Example:

package com.openkm;
import java.util.Arrays;
import com.openkm.sdk4j.OKMWebservices;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.QueryResult;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/OpenKM";
String username = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password);
try {
            for (QueryResult qr : ws.findByKeywords(Arrays.asList("test"))) {
                System.out.println(qr);
            }
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
find(QueryParams queryParams) List Returns a list of results filtered by the values of the queryParams parameter.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservices;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.QueryParams;
import com.openkm.sdk4j.bean.QueryResult;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/OpenKM";
String username = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password);
try {
            QueryParams qParams = new QueryParams();
            qParams.setDomain(QueryParams.DOCUMENT);
            qParams.setName("test*.html");
                        for (QueryResult qr : ws.find(qParams)) {
                System.out.println(qr);
            }
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
findPaginated(QueryParams queryParams, int offset, int limit) ResultSet Returns a list of paginated results filtered by the values of the queryParams parameter.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservices;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.QueryParams;
import com.openkm.sdk4j.bean.QueryResult;
import com.openkm.sdk4j.bean.ResultSet;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/OpenKM";
String username = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password);
try {
            QueryParams qParams = new QueryParams();
            qParams.setDomain(QueryParams.DOCUMENT);
            qParams.setName("test*.html");
            ResultSet rs = ws.findPaginated(qParams, 20, 10);
            System.out.println("Total results:"+rs.getTotal());
                        for (QueryResult qr : rs.getResults()) {
                System.out.println(qr);
            }
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
findSimpleQueryPaginated(String statement, int offset, int limit) ResultSet Returns a list of paginated results filtered by the values of the statement parameter.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservices;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.QueryResult;
import com.openkm.sdk4j.bean.ResultSet;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/OpenKM";
String username = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password);
try {
            ResultSet rs = ws.findSimpleQueryPaginated("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();
}
}
}

Description:

Method Return values Description
findMoreLikeThis(String uuid, int max) ResultSet Returns a list of documents that are considered similar by the search engine.
  • The uuid is a document UUID.
  • The max value is used to limit the number of results returned.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservices;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.QueryResult;
import com.openkm.sdk4j.bean.ResultSet;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8080/OpenKM";
String username = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password);
try {
            ResultSet rs = ws.findMoreLikeThis("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();
}
}
}

Description:

Method Return values Description
getKeywordMap(List filter) Map<String, Integer> Returns a map of keywords with its count value filtered by other keywords.

Example:

package com.openkm;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Map;
import com.openkm.sdk4j.OKMWebservices;
import com.openkm.sdk4j.OKMWebservicesFactory;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8180/OpenKM";
String username = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password);
try {
            // All keywords without filtering
            System.out.println("Without filtering");
            Map<String, Integer> keywords = ws.getKeywordMap(new ArrayList<String>());
            for (String key : keywords.keySet()) {
                System.out.println(key + " is used :" + keywords.get(key) );
            }
            // Keywords filtered
            System.out.println("Filtering");
            keywords = ws.getKeywordMap(Arrays.asList("test"));
            for (String key : keywords.keySet()) {
                System.out.println(key + " is used :" + keywords.get(key) );
            }
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
getCategorizedDocuments(String categoryId) List Retrieves a list of all documents related with a category.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservices;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.Document;
public class Test {
public static void main(String[] args) {
String host = "http://localhost:8180/OpenKM";
String username = "okmAdmin";
String password = "admin";
OKMWebservices ws = OKMWebservicesFactory.newInstance(host, username, password);
try {
            for (Document doc : ws.getCategorizedDocuments("/okm:categories/invoices")) {
                System.out.println(doc);
            }
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
findByQuery(String query) List Returns a list of results filtered by the query parameter.

Example:

package com.openkm;
import java.util.List;
import com.openkm.sdk4j.OKMWebservices;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.QueryResult;
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 {
List<QueryResult> results = ws.findByQuery("keyword:test AND name:t*.pdf");
for (QueryResult qr : results) {
System.out.println(qr);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}

Description:

Method Return values Description
findByQueryPaginated(String query, int offset, int limit) ResultSet Returns a list of paginated results filtered by the values of the query parameter.

Example:

package com.openkm;
import com.openkm.sdk4j.OKMWebservices;
import com.openkm.sdk4j.OKMWebservicesFactory;
import com.openkm.sdk4j.bean.QueryResult;
import com.openkm.sdk4j.bean.ResultSet;
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 {
ResultSet rs = ws.findByQueryPaginated("text:grial AND name:t*.pdf", 0, 10);
System.out.println("Total results:" + rs.getTotal());
for (QueryResult qr : rs.getResults()) {
System.out.println(qr);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}