Class RecordSearchAction
java.lang.Object
com.kingsrook.qqq.backend.core.actions.tables.RecordSearchAction
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.-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final int -
Constructor Summary
Constructors -
Method Summary
-
Field Details
-
DEFAULT_LIMIT_PER_TABLE
public static final int DEFAULT_LIMIT_PER_TABLE- See Also:
-
MAX_LIMIT_PER_TABLE
public static final int MAX_LIMIT_PER_TABLE- See Also:
-
MAX_SEARCH_TERM_LENGTH
public static final int MAX_SEARCH_TERM_LENGTH- See Also:
-
MAX_PROVIDER_IDS_PER_TABLE
public static final int MAX_PROVIDER_IDS_PER_TABLE- See Also:
-
MAX_OFFSET
public static final int MAX_OFFSET- See Also:
-
MAX_HIGHLIGHTS_PER_RESULT
public static final int MAX_HIGHLIGHTS_PER_RESULT- See Also:
-
MAX_DETAILS_PER_RESULT
public static final int MAX_DETAILS_PER_RESULT- See Also:
-
HIGHLIGHT_SNIPPET_LENGTH
public static final int HIGHLIGHT_SNIPPET_LENGTH- See Also:
-
-
Constructor Details
-
RecordSearchAction
public RecordSearchAction()
-
-
Method Details
-
execute
- Throws:
QException
-