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:
|
Yes |
ui-name |
This is the string that will be displayed in the user interface, for example:
|
Yes |
|
on-name |
This attribute is not supported. |
No |
|
url |
This attribute takes the following format:
|
Yes |
|
parent |
This attribute is used to specify the parent of a child business component, for example:
|
No |
|
fkey-field |
This attribute is used to define a foreign key field, for example:
|
No |
|
field |
bc-name |
Name of the business component field, for example:
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:
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:
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,
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: Child Fields. Comma separated list of child business component fields to be indexed, for example: Child Reference Field. Child Reference Field is the foreign key equivalent of the parent Business Component linked to |
Yes |
|
type |
Used to define the file type represented by the field. This attribute is mandatory for file fields. Valid values are as follows:
|
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 |
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 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
Navigate to the Administration - Runtime Events screen, then the Action Sets view.
Query on the Update Index Action Set.
Click the Event Aliases tab.
Click the New button on the Event Alias screen.
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
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
Log into Siebel Tools.
Go to the Fast Search Project, choose Tools and then Lock Project to lock the Fast Search Project.
Go to the Content Service business service.
Create a new Business Service User Prop with the following values:
Field Value Name
Solution Admin
Value
Solution
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
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.