Initial Search Criteria

You need to define the criteria used to show the initial result set for your search page (the results that show when the page is first opened by a user).

The following topics are discussed:

Initial Object List

When the navigation mode is configured to show an initial result set, the initial objects that get loaded are determined by:


  • field URL parameter (defines initial search criteria for specific fields)
  • default URL parameter (defines criteria that can be expanded on)
  • txtExcludeOIDs URL parameter (specifies specific OIDs to omit from the result list)
  • excludeOIDprogram URL parameter (provides a list of OIDs not to include in the result set based on business logic defined in a JPO program:method)
  • includeOIDprogram URL parameter (provides a list of OIDS to restrict the search to based on business logic defined in a JPO program:method)

For example:

emxFullSearch.jsp?field=TYPES=type_Person:CURRENT=state_Active&default=PROJECT_ID=<projectid>

The search page that opens lists Persons who belong to the specified Project.

For cases that need to work with large numbers of OIDs, you can use the includeOIDprogram parameter to limit the OIDs being searched and the excludeOIDprogram to remove OIDs from being searched.

The field parameter does not limit the vaults to be searched; if you specify a vault, the vault chooser still shows the primary and secondary vaults available to that user.

In addition, see About Automatic Type Ahead for details on defining the href to support type-ahead fields in the search criteria.

Syntax for the field Parameter

The field parameter specifies the initial search criteria for specific fields in this format:

index operator value:index operator value

where:


  • index is the name of the indexed field as defined in the config.xml file (see the "Configuring Advanced Search" chapter in the Exalead Full Text Server Installation Guide)
  • operator is one of these:

    = the attribute value must equal this value

    != the attribute value must not equal this value

  • value is the attribute value to select (or omit) as a match; can be actual value or symbolic names of the value. Values can be a comma-separated list (an OR match, only one of the values need to match)

The list of indexed fields must be separated by a colon (:). If a value includes a space, use single-quotes to enclose the value, not double quotes. For consistency, field names should be provided in upper case, such as OWNER, but must match the name as defined in config.xml.

To specify that the values must match one value but not another value, you can use the = and != operators in sequence. For example, to specify a type (which automatically includes its children) but exclude a specific child type, you can use this format:

TYPES=type_Part:Type!=type_HardwarePart

In this example, all child types of Part, except for Hardware Part, are considered matches.

The user can then use the Type Hierarchy and Attributes sections of the form to filter the search results as described in Running an Advanced Search (Navigation Mode).

Revisions

When specifing revisions for the initial search criteria, several properties and parameters affect the results. The emxSystem.properties file includes these properties:


  • emxFramework.FullTextSearch.LATESTREVISION = true
  • emxFramework.FullTextSearch.LASTREVISION = false

LATESTREVISION corresponds to the By State check box; LASTREVISION corresponds to the Highest check box. Both properties can be set to false, but do not set both properties to true (this results in an invalid configuration).

The above properties correspond to these URL parameters that can be passed to emxFullSearch.jsp:


  • LATESTREVISION
  • LASTREVISION

The URL parameters, if passed, override the emxSystem.properties property values. In addition, only one of these parameters should be passed as true.

You can also pass an explicit Revision level using the field parameter, such as:

field=REVISION=B

This example retrieves all objects (that meet the other criteria) that are at Revision level B. If the above URL string also included LASTREVISION=true, then the initial results would include all objects that have Revision B as the last revision.

Selected types that are governed by different policies cause complications. For example, if Part and Documents are defined as the Types, these objects have different revision strings and different states. In this case, the Revision text box is used and the check boxes are disabled.

Reserved Words

Do not use any of these reserved words: TYPES, CURRENT, REVISION.

These reserved words do not correspond to indices in the config.xml file. To use them, follow these guidelines:


  • TYPES specifies the symbolic name of the types to include in (=) or to exclude from (!=) the result set
  • REVISION=last selects the last object in the revision chain

    LATESTREVISION=true- selects the last object in the revision chain in the state specified by the CURRENT keyword (if CURRENT is not passed, functions as REVISION=last)

  • CURRENT defines the policy and state, or just the state

Example:

TYPES=type_ECR:CURRENT=policy_ECRStandard.state_PlanECO

In this example, the returned objects must be of type ECR, be governed by the ECR Standard policy and currently in the Plan ECO state.