Data mining and aggregation services
The Mercury DB system offers many services that implement various methods of searching for cases, both in the logical and business layers of the system. In order to standardize and centralize, two main services were created, containing several advanced search methods.
The API described is available in software with a minimum version of 3.0.2.0.2
. In earlier versions, the case search mechanisms were defined only in the CaseBusinessRest services (SOAP: ICaseBusinessAction; Spring Remoting RMI: /CaseBusinessAction) and CaseBusinessExtRest, which are responsible for the general mechanisms of case processing operations. Unfortunately, the need to maintain backward compatibility did not allow these services to be expanded with the necessary elements. To check the software version, see the article What is the version of my system?.
- CaseSearchRest - a collection of basic search and data aggregation methods. The service has its counterparts supporting SOAP protocols ICaseSearchAction and Spring Remoting RMI /CaseSearchAction.
https://<server_name>:<port>/mercury-ws-app/rest/service/CaseSearchRest
https://<server_name>:<port>/mercury-ws-app/restServices/CaseSearchRest.wadl
where:
<server_name>
- name of the server on which the Mercury DB (HgDB) 3.0 application is installed,<port>
- port on which the Mercury DB (HgDB) 3.0 application is listening (by default it is port8080
).
Example: https://testcluster.hgdb.io/mercury-ws-app/restServices/CaseSearchRest.wadl
- CaseSearchExtRest - extended set of additional methods related to searching and aggregation. Special service created for integration with Grafana (software for data analysis, monitoring and visualization) Available only in the REST services area.
https://<server_name>:<port>/mercury-ws-app/rest/service/CaseSearchExtRest
https://<server_name>:<port>/mercury-ws-app/restServices/CaseSearchExtRest.wadl
where:
<server_name>
- name of the server on which the Mercury DB (HgDB) 3.0 application is installed,<port>
- port on which the Mercury DB (HgDB) 3.0 application is listening (by default it is port8080
).
Example: https://testcluster.hgdb.io/mercury-ws-app/restServices/CaseSearchExtRest.wadl
- CaseIndexerFieldsManagerRest - an additional service created to support query building mechanisms. It contains a number of methods that allow you to retrieve information about indexed fields and their statistics - especially useful when someone wants to create a query builder in the future. The service has its equivalents supporting SOAP protocols ICaseIndexerFieldsManagerAction and Spring Remoting RMI /ICaseIndexerFieldsManagerAction.
https://<server_name>:<port>/mercury-ws-app/rest/service/CaseIndexerFieldsManagerRest
https://<server_name>:<port>/mercury-ws-app/restServices/CaseIndexerFieldsManagerRest.wadl
where:
<server_name>
- name of the server on which the Mercury DB (HgDB) 3.0 application is installed,<port>
- port on which the Mercury DB (HgDB) 3.0 application listens (by default it is port8080
).
Example: https://testcluster.hgdb.io/mercury-ws-app/restServices/CaseSearchExtRest.wadl
📄️ Lucene Index Queries
The basic search engine in the HgDB database is the Apache Lucene index implementation. Lucene Core is a Java library that provides advanced indexing and search features, as well as spell checking, hit highlighting, and advanced analysis capabilities. This article will describe the rules for creating search and aggregate queries that apply in Mercury DB (HgDb) 3.0.
📄️ Search Services
The service is generated based on the ICaseSearchAction interface, which implements SOAP services.
📄️ Extended Search Services
Example//testcluster.hgdb.io/mercury-ws-app/restServices/CaseSearchExtRest.wadl.
📄️ Index Fields Management Services
Example//testcluster.hgdb.io/mercury-ws-app/restServices/CaseIndexerFieldsManagerRest.wadl.
📄️ Data Aggregation Examples
Below are examples of data aggregation, which were performed via the CaseSearchExtRest#groupByQuery(POST) service. The syntax of the **Group By** clause was described in the article Lucene Index Queries. The examples were performed using the SoapUI tool.