Use queries to search storages, filter data or provide statistics.
Use results at scale with search streaming.


Documents in Rual are stored in Elastic. Searches and queries are based on the possibilities in Elasticsearch.
In the tutorials section Document queries shows a number of examples that you can use.


The mapping definition in Elastic describes how a document and the fields it contains are stored and indexed. Rual takes care of this mapping for you. This makes the query blocks easy to understand and use.

Filter & search

Filter data for UI reports or search data to use in a function. Start with a block query multiple and select one or more main branches: must, must not, should/or. The next block sets the condition for the branch: exist, range, match or fuzzy. With the current user block you can adapt the results to specific user details or scopes.

Search streaming

A special block in Rual is search streaming. This block passes the query results one by one to a function. Limit this function's concurrency if the results are interdependent. Alternatively you can use a search block and update multiple documents, but as soon as you work with a large number of results it is better to use search streaming.


A special group of query blocks provide aggregation of data for statistical use. Create pivot tables with the group on fields or build dynamic functions that use the group data. Aggregations provide statistical values like average and min/max and can be used to make UI graphs.

Is that all?

You are probably surprised that are no instructions for writing queries, diving into levels of data and such. But it is really that simple in Rual. In our tutorials section and demo environment we show examples of queries to give you an idea of the options.

next course: Reporting

part of the Basic Rual Developer courses