7Configuring Index Mappings for Oracle Secure Enterprise Search

Configuring Index Mappings for Oracle Secure Enterprise Search

This chapter covers customizing and extending search objects for integration with Oracle Secure Enterprise Search, and includes the following topics:

About Searchable Objects

All searchable objects are defined in an XML mapping file, rather than through Siebel Tools. Siebel Search ships with the preconfigured search categories listed in Preconfigured Search Objects for Oracle Secure Enterprise Search. To create additional custom search objects, or to add 7.x custom search objects, the object definition must be mapped in a field mapping XML file. The elements and attributes defined in the XML field mapping file populate the Search Index Settings and Available Fields views of the search administration UI. The search objects can be configured in the search administration UI once the search object has been created in the XML mapping file. These index mapping definitions are used to generate the XML data feed files, which Oracle Secure Enterprise Search crawls and indexes.

If amendments to the XML field mapping are required to create custom Search Objects, it is recommended that these are completed before the index is initially built, if possible. If the XML field mapping file is edited after initial deployment, the Siebel Server must be restarted, and an Index All operation must be executed to index any new or modified search objects.

Defining Index Elements

Siebel Search index mapping fields are mapped to business component fields in the file SIA_OSES_Field-Mappings.xml or the file SSC_OSES_Field-Mappings.xml, to define searchable objects. The definitions in this mapping file are used to generate the XML data feed files, which Oracle Secure Enterprise Search crawls and indexes.

Once the index mappings have been defined in Application_Suite_OSES_Field-Mappings.xml, the Siebel Server must be restarted, and the Search Administration UI must be populated with the new Search Categories or Available Fields. See Administering Siebel Search Index Settings for Oracle Secure Enterprise Search.

The correct mapping file to use is determined as follows:

  • Use the file SSC_OSES_Field-Mappings.xml if you are using a Siebel application that operates across industries, such as Siebel Call Center, Siebel Sales or Siebel Marketing.

  • Use the file SIA_OSES_Field-Mappings.xml if you are using a Siebel industry application, such as Siebel Finance, Siebel Medical, or Siebel Pharma.

The following table lists the elements and attributes for defining business component index mappings.

Element Attributes Description Mandatory

BusComp

name

Name of the business component, for example:

name="Service Request Attachment"

Yes

ui-name

This is the string that will be displayed in the user interface, for example:

ui-name="SR Attachments"

Yes

on-name

This attribute is not supported.

No

url

This attribute takes the following format:

url="http://%webserver%/%objmgr%_%lang%/
start.swe?SWECmd=GotoView&SWEView=#VIEWNAME#&S
WERF=1&SWEHo=%hostName%&SWEBU=1&SWEApplet0=#AP
PLETNAME#&SWERowId0=#ROWID#" 

Yes

parent

This attribute is used to specify the parent of a child business component, for example:

parent="Service Request"

No

fkey-field

This attribute is used to define a foreign key field, for example:

fkey-field="Activity Id"

No

field

bc-name

Name of the business component field, for example:

bc-name="Attachment List"

The value displays in the Field Name column of the Available Fields list applet.

Yes

in-name

This is the index field for the business component field, for example:

in-name="listing01"

See Defining Index Attributes for a list of required, recommended and optional in-name definitions.

Yes

ui-name

This is the string that will be displayed as the search result snippet in the user interface, for example:

ui-name="Attachments"

This value populates the Available Fields list applet on the Siebel Search administration UI. The field name is displayed on the application UI if the Searchable flag option is selected in the Available Fields list applet.

No

on-name

This attribute is not supported.

No

nv-name

This attribute is not supported.

No

is-id

This attribute is not supported.

No

id-rank

This attribute is not supported.

No

on-name

This attribute is not supported.

No

one2many

This attribute is used for passing the business component child category information. This attribute is mandatory when you want to index a child business component, and the child business component has multiple rows associated with the parent business component. The one-to-many mapping must conform with the following format:

<Child Business Component Name>:<Child 
Fields><Child Reference Field>, for example, 
Service Request 
Attachment:ActivityFileSrcPath,ActivityFileNam
e,ActivityFileExt,Activity Id.

In this example the constituent parts are as follows:

Child Business Component Name. This must be the exact name defined in Siebel Tools. Child Business Component Name takes just one value, for example: Service Request Attachment.

Child Fields. Comma separated list of child business component fields to be indexed, for example: ActivityFileSrcPath,ActivityFileName. One or more values can be entered for Child Fields, each value must be separated by a comma.

Child Reference Field. Child Reference Field is the foreign key equivalent of the parent Business Component linked to PAR_ROW_ID of the child table, for example: Activity Id. Child Reference Field takes just one value.

Yes

type

Used to define the file type represented by the field. This attribute is mandatory for file fields. Valid values are as follows:

  • type="path"

  • type="filename"
  • type="ext"
  • type="na"

Yes

Defining Index Attributes

This topic covers defining the attribute values for the in-name attribute. Attributes are defined in name-value pairs. In the example <field bc-name="Description" in-name="keywords ui-name="Description" type="na"/>, in-name is an attribute name, and “keywords" is an optional attribute value. The following table lists the mandatory, recommend and optional attribute values for assigning to the in-name attribute. The in-name attribute and values are defined in the file Application_Suite_OSES_Field-Mappings.xml. The index fields are reusable for mapping across business component fields.

Attribute Name Attribute Value Description Mandatory

in-name

accessURL

Used for mapping to the business component access URL field.

No

alias

Used for mapping to name fields.

No

author

This index field is reserved and cannot be mapped to user-defined fields. This index field maps to the business component Updated By field.

The Updated By field must also be populated in the Search Index Settings Available Fields applet in the Administration - Search UI.

Yes

body

Used for mapping to main content field. This field is mandatory and is used to generate search results.

Yes

city

Used for mapping to city name fields.

No

code01

Used for mapping to generic code or ID fields.

No

code02

Used for mapping to generic code or ID fields.

No

comment

Used for mapping to comment fields.

No

country

Used for mapping to country name fields.

No

createdBy

This index field is reserved and cannot be mapped to user-defined fields. This index field maps to the business component Created By field.

The Created By field must also be populated in the Search Index Settings Available Fields applet in the Administration - Search UI.

Yes

createdOn

This index field is reserved and cannot be mapped to user-defined fields. This index field maps to the Created business component field.

The Created field must also be populated in the Search Index Settings Available Fields applet in the Administration - Search UI.

Yes

csn

Used for mapping to customer ID number fields.

No

date01

Used for mapping to date fields.

No

date02

Used for mapping to date fields.

No

description

Used for mapping to generic descriptive fields, such as comments, FAQ or details.

Recommended

emailed

Used for mapping to email address fields.

No

faxNumber

Used for mapping to fax number fields.

No

firstName

Used for mapping to first name fields.

No

keywords

This index field corresponds to the Oracle Secure Enterprise Search Keywords search attribute, and, if configured, is used for cluster configuration. This field is recommended if automated keywords are required.

The following provides an example keywords definition for the SR Resolution Item business component:

<field bc-name="Description" in-
name="Keywords" ui-
name="Description" on-name=""nv-
name=""one2many="" is-id="N" id-
rank=""type="na"/>

This configuration ensures that the content of the SR Resolution Item Description field is mapped to the Oracle Secure Enterprise Search Keywords attribute. This definition tags the Description value as a keyword in the feed file. When Oracle Secure Enterprise Search crawls and indexes the feed file, it processes the value of the Description field as a keyword for cluster configuration and automated keywords.

For information on administering cluster configuration for automated keywords, see Administering Query-Time Clustering Configuration.

For more information on search attributes, see Oracle Secure Enterprise Search Administrator's Guide.

Recommended

language

Used for mapping to language identifier fields.

No

lastModifiedDate

This index field is reserved and cannot be mapped to user-defined fields. This index field maps to the business component Updated field.

The Updated field must also be populated in the Search Index Settings Available Fields applet in the Administration - Search UI.

Yes

lastName

Used for mapping to last name fields.

No

level

Used for mapping to level fields.

No

listing01

Only to be used for one-to-many field mapping.

No

listing02

Only to be used for one-to-many field mapping.

No

location

Used for mapping to site, directory, or path fields.

No

name

Used for mapping to name fields.

No

orgName

Used for mapping to organization name fields.

No

owner

Used for mapping to Organization Information or other visibility information fields.

No

phoneNumber01

Used for mapping to phone number fields.

No

phoneNumber02

Used for mapping to phone number fields.

No

price

Used for mapping to price fields.

No

sblbctype

This index field is reserved and cannot be mapped to user-defined fields. This index field is used for mapping to the BC Name business component field, and is used to generate search results.

The BC Name field must also be populated in the Search Index Settings Available Fields applet in the Administration - Search UI.

Yes

sblrowid

This index field is reserved and cannot be mapped to user-defined fields. This index field is used for mapping to the business component ID field.

The ID field must also be populated in the Search Index Settings Available Fields applet in the Administration - Search UI.

Yes

sblvisibilityid

The sblvisibilityid index field is used for mapping to business component fields used for access control, such as the business component’s Organization ID, Contact ID, Owner Position ID, or Account ID fields. The sblvisibilityid index field can also be mapped to custom access control fields. Multiple sblvisibilityid index field mappings can be used for each business component. The visibility ID is captured at index-time and stored in the database with the indexed records. At query-time, the User ID is sent with the search criteria and authenticated by the Oracle Secure Enterprise Search Web Service. The search results are filtered based on the field's sblvisibilityid settings, and the profile of the logged in user.

This mapping is mandatory for access controlled business components.

See the access control topic in Siebel Security Guide for more information.

Yes

sblvisibilityinfo

This index field is reserved and cannot be mapped to user-defined fields. This index field is used for mapping to the business component Organization Information or other visibility information fields.

This mapping is optional, and is used for access controlled business components.

No

sourceHierarchy

Used for mapping to hierarchy information fields.

No

state

Used for mapping to geographical state fields.

No

status

Used for mapping to BusComp status fields.

No

street

Used for mapping to street address fields.

No

summary

Used for mapping to descriptive summary fields.

Recommended

textID

Used for mapping to text ID fields.

No

Title

Used for mapping to title information fields.

Yes

type

Used for mapping to record type fields.

No

value

Used for mapping to String value fields.

No

zipcode

Used for mapping to zip-code, postal-code and pin-code fields.

No

Creating Search Run-Time Events for Custom Search Objects

Search run-time events must be created for any custom search object that you create. Run-time events must be created to enable incremental indexing and refresh indexing for custom Search Objects. This topic covers configuration of search runtime events for monitoring create, update and delete events executed on Search Objects in the data repository. These runtime events can be customized to monitor any type of event. The Action Sets create records in the transaction table and trigger the Search Content business service method UpdateIndex(). See Siebel Personalization Administration Guide for more information on Siebel Run-Time Events.

To create Search run-time events for custom search objects

  1. Navigate to the Administration - Runtime Events screen, then the Action Sets view.

  2. Query on the Update Index Action Set.

  3. Click the Event Aliases tab.

  4. Click the New button on the Event Alias screen.

  5. Complete the Event Alias fields for each buscomp create, update and delete operation. Use the Service Request values in the following table for reference.

    Name Object Type Object Name Event

    Service Request - New

    BusComp

    Service Request

    NewRecord

    Service Request - Write

    BusComp

    Service Request

    WriteRecord

    Service Request - PreDelete

    BusComp

    Service Request

    PreDeleteRecord

  6. Select Save Record.

Configuring the Business Service User Property in ContentService When Indexing Business Component Pairs

For the Solution and Solution Admin business component pair, Solution is typically used for indexing and not Solution Admin where the runtime events are generated. If using the Solution business component for indexing, then you must create a name-value pair for Solution and Solution Admin in Siebel Tools in the Business Service User Prop under the Content Service business service as shown in the following procedure. These instructions apply to other business component pairs similar to Solution and Solution Admin (for example: Sales Tool and Admin Sales Tool business component pair).

To configure the Business Service User Prop in ContentService for indexing business component pairs

  1. Log into Siebel Tools.

  2. Go to the Fast Search Project, choose Tools and then Lock Project to lock the Fast Search Project.

  3. Go to the Content Service business service.

  4. Create a new Business Service User Prop with the following values:

    Field Value

    Name

    Solution Admin

    Value

    Solution

  5. In the Siebel application, go to the Administration - Runtime Events screen, then the Event Aliases view and verify that the run-time event alias fields for the Solution Admin buscomps are as shown in the following table.

    Name Object Type Object Name Event

    Solution - New

    BusComp

    Solution Admin

    NewRecord

    Solution - Write

    BusComp

    Solution Admin

    WriteRecord

    Solution - PreDelete

    BusComp

    Solution Admin

    PreDeleteRecord

  6. Go to the Administration - Runtime Events, then the Events view and verify that the event fields for the Solution Admin buscomps are as shown in the following table.

    Sequence Name Object Type Object Name Event Action Set Name

    0

    Solution - New

    BusComp

    Solution Admin

    NewRecord

    Update Index

    1

    Solution - Write

    BusComp

    Solution Admin

    WriteRecord

    Update Index

    2

    Solution - PreDelete

    BusComp

    Solution Admin

    PreDeleteRecord

    Update Index

Note the following:

  • You can modify records only in the Admin business component but you can set the drilldown search results to a view that corresponds to a non-Admin business component.

  • Adding the new Business Service User Prop in the ContentService business service makes sure that:

    • The Solution business component will be indexed.

    • If records are modified in the Solution Admin business component, then the index will refresh and increment the changes.

    • The drilldown search results will be correct.

  • The ContentService business service contains an UpdateIndex method which is accessed by run time events when records are inserted, updated, or deleted from various business components. The UpdateIndex method inserts rows into the S_SRCH_CHG_TXN table, which contains a row for each change such as the Row Id val, Business Component Name, and the operation code (W-insert, W-update, or D-delete). If an insert, update, or delete operation is carried out on the Solution Admin business component, then the row inserted into the S_SRCH_CHG_TXN table is as follows: 'BUSCOMP_NAME'=Solution.

  • If indexing the Solution Admin (and not the Solution) business component, then it is not necessary to add the new Business Service User Prop mentioned in Step 4. Set the view name for that index category to the Solution Admin business component view. For example:

    - For the Solution Admin business component: Solution Administration View

    - For the Solution business component: All Solution List View

    If indexing the Solution Admin business component and if using the Solution business component as the view, then the search results will be incorrect.

Note: When new run-time events are added, you must synchronize the enterprise components and then restart the Siebel Server and Siebel Gateway services.