MainGetting StartedSearch
Query Archiving / Alerting

Provides support for query saving and reuse including alerting, trending, sharing and maintaining a session search history that enables previously executed queries to be re-executed and/or combined with other queries.

Query objects:

In the Raritan Framework, queries are represented by a java.util.Map object – a set of named field/value pairs. The object used represent a search query is the OrderedMap which can preserve the order of name/value pairs in the input (such as an HttpServletRequest). The specific query fields are used by query processing elements such as SearchSources or query storage processes (IQueryResultSetWriters). The persistent query objects, QueryResultBean and QueryResultBean set, contain the query fields, information about the user that saved the query and the search source that can be used to run the query. The QueryResultBean contains methods to refresh the results of the query (i.e. to get the latest results from a SearchSource). In this way, saved queries can be re-executed either using the original source or others.

Filtering query sets

Saving/retrieving queries to/from persistent storage:

Queries can be saved to a persistent store using an IQueryResultSetWriter. The query data is stored along with the name of the search source that can generate results from the query. Queries can be retrieved from persistent storage using an IQueryResultSetReader.

Servlets and Action Handlers

These classes enable query saving or reading processes to be triggered by http requests either in the form of a direct HttpServletRequest or a Struts Action.

Alerting Processes

Processes that can run automated alert pipelines. Typically these are used to generate emails for new documents that match a user's saved query. Alerting processes typically retrieve stored queries using an IQueryResultSetReader and execute the retrieved query against the relevant search sources (this information is contained in the QueryResultSet metadata) and send the returned results into a formatted alert message.

Processes that create alerts by periodically executing the saved queries against their SearchSource(s). These use the AlertPageGenerator to retrieve, run and disseminate the query results. This alerting process can either be run inside of the Raritan Scheduler or as a standalone Java main process that can be executed by the OS as a 'cron' job.

Processes that use saved queries to categorize or profile new documents as they are added to a search source repository.

Trending analysis

This refers to UI elements that enable users to track the trends of queries by charting the number of hits over a set of configurable time ranges.

Query Management User Interface Elements

Provides a set of tools to build query saving / alert / trend / history user interfaces. Integrates with persistent storage and retrieval and with back-end processes.

Search History

Modules for management of query history within a web application session. Enables queries to be re-run, combined, etc.

Implementation architectures

JSP pages Apache Velocity Apache Struts