Class RecordSearchAction

java.lang.Object
com.kingsrook.qqq.backend.core.actions.tables.RecordSearchAction

public class RecordSearchAction extends Object
Record search across tables: matches a free-text term against the search fields of each table that declares them, and returns each match's table, primary key and label. Only tables the session may read (and that support query) are searched; a table the session may not read, or that has no search fields, is skipped without error, so a caller cannot probe which tables exist. Each table is queried through QueryAction, so record security locks, table personalization and query customizers apply exactly as for any query. String fields match when they contain the term, case-insensitively; integer fields match when they equal a numeric term. Results per table are limited, and may be paged (offset) and sorted (relevance, or most recently modified). If the instance has a record search provider, the tables it claims are searched by it instead (its hits are re-read through QueryAction, so the same security applies), falling back to the default search for those tables if the provider fails. The output says what searched each table, and whether (and why) the provider failed. Each result is described from the freshly read record, using only the fields the session can see: plain-text highlights of the search fields that match the term, a few other search field values (details), and when it was last modified. Fields in the record label are neither highlighted nor detailed (the label already shows them), nor is the primary key detailed.