The following sections describe how to work with Endeca properties.
Use the Properties view to see all Endeca properties in a project simultaneously.
The Properties view displays information about all of the Endeca properties in your project, in tabular format. You can add, remove, or modify Endeca properties here, as well as access more detailed information about an individual property.
To open the Properties view:
Example 2. Properties view columns
The Properties view contains the following columns:
Column |
Description |
---|---|
Name |
A unique name for the Endeca property. |
Type |
One of the following:
|
Enable Sort |
When Yes, indicates that records can be sorted by this Endeca property. |
Enable Record Search |
When Yes, indicates that record search should be enabled for this Endeca property. Record search finds all records in an Endeca implementation that have a property whose value matches a term the user provides. |
Record Spec Property |
When Yes, indicates that this property is enabled as the record specifier for all records. |
Show with Record List |
When Yes, enables this Endeca property to appear in the record list display. Any records that are tagged with this property will have this value shown as part of their entry in the record list. |
Show with Record |
When checked, allows this Endeca property to appear on the record page. Any records that are tagged with this property will have this property shown as part of their entry on the record page. |
Alphabetically sort Endeca properties in ascending or descending order.
For ease of use, the Endeca properties in your Properties view are sorted by name. You can choose whether the sort is ascending or descending.
Note
Using this feature just changes the sort in the Properties view. It does not determine how the MDEX Engine sorts results. See Enabling record sort on a property and Enabling record sort on a dimension for more information.
To sort the Endeca properties in your Properties view:
Specify the data type and other attributes of the new property.
On the Project tab, double-click Properties to open the Properties view.
In the Properties view, click New. The New Property editor appears.
In the Name box, type the name of the new Endeca property.
Endeca properties and dimensions share a namespace in the Endeca MDEX Engine. For this reason, all Endeca property and dimension names must be unique. If the application will use Endeca Query Language requests, all property and dimension names must be in an NCName format. For more information about the Endeca Query Language and the NCName requirement, see the Endeca Advanced Development Guide.
In the Type list, choose the type of the new Endeca property:
Use the Property editor in the Properties view to make all changes to an existing property.
Select a property from the Properties view to delete it.
To delete an Endeca property from your project:
Deleting an Endeca property clears the property mappings from the full pipeline, but you must manually remove the mappings from the partial update pipeline.
The time, datetime, and duration property types let you identify date and time-related values as such so that the MDEX Engine handles those values appropriately.
For example, it is not meaningful to add the contents of two String properties (that is, Alpha properties), and a query that attempts this operation causes an error. Similarly, date and time-related operations, such as extracting the year out of a date property, are limited to date/time types.
To support dates and times, the Presentation API uses the Property class to represent key-value pairs, where the value is a String that represents a date, datetime, or duration. The front-end Web application may display this value without interpreting it, or it can use libraries to convert the value into a pretty-printed string that is appropriate for human consumption. In other words, the application may convert the String into a java.util.Date object (for Java) or DateTime object (for .NET), which can then be formatted using the standard Java and .NET calendar utilities, respectively.
The String value associated with a time, datetime, or duration contains an integer number. The specification for this number is as follows:
For example, “1:00PM” or “13:00” is represented as “46800000” because:
13 hours *
60 minutes / hour *
60 seconds / minute *
1000 milliseconds / second =
46800000 milliseconds
For example, “August 26, 2004 1:00PM” is represented as “1093525200000” because:
12656 days *
24 hours / day *
60 minutes / hour *
60 seconds / minute *
1000 milliseconds / second +
46800000 milliseconds (13 hrs) =
1093525200000 milliseconds
For example,“100 days” is represented as “8640000000” because:
100days *
24 hours / day *
60 minutes / hour *
60 seconds / minute *
1000 milliseconds / second =
8640000000 milliseconds
Endeca distinguishes time, which represents time, from datetime, which represents a date and time, because it allows us to reduce the memory and storage footprint of applications that include only times. It also allows applications to explicitly detach a time from a specific date.
The duration type holds relative datetime values. This type provides application developers the ability to store values like “2 minutes” or “3 years.” In other words, values that should not be interpreted as absolute dates or times.
The MDEX Engine assumes that date/time data that is being loaded has the following characteristics:
If your date/time data does not conform to these requirements, you must pre-process it before loading, or manipulate it in your pipeline, so that it does.
Note
Endeca follows the POSIX standards.
The .NET framework uses the DateTime structure to represent an instant in time. In the DateTime structure, time values are measured in 100-nanosecond units called ticks. To load data created with the DateTime structure into the MDEX Engine, you must convert from ticks to nanoseconds, and then from nanoseconds to milliseconds. Conversely, to work with data returned from the MDEX Engine using the DateTime structure, you must convert it from milliseconds to nanoseconds, and then from nanoseconds to ticks.
The conversions work as follows:
1 second = 1,000 milliseconds
1 second = 1,000,000,000 nanoseconds
1,000 milliseconds = 1,000,000,000 nanoseconds
1 millisecond = 1,000,000 nanoseconds
1,000,000 nanoseconds * (1 tick / 100 nanoseconds) = 10,000 ticks
10,000 ticks = 1 millisecond
An Endeca property is populated with data from the source property to which it is mapped.
You must map a source property to an Endeca property if you want to retain for use in your Endeca implementation. You use the property mapper component to map source properties to Endeca properties. See the Endeca Forge Guide for details.
You use the Property editor to create a new Endeca property or modify the attributes of an existing one.
Option |
Description |
---|---|
Name |
The name of the Endeca property. Property names are case sensitive.
NoteProperties and dimensions share a namespace in the Endeca MDEX Engine. For this reason, you should not use the same name for both a property and a dimension.
|
Type |
A drop-down list where you can select from the following property types:
NoteThe Reference and File Path property types has been deprecated and should not be used for new implementations.
|
Prepare sort offline |
When checked, record sorting on this Endeca property is optimized. |
Rollup |
Enables aggregated Endeca record creation by allowing rollups based on this Endeca property. |
Enable for record filters |
When checked, enables this Endeca property for record filtering, which presents a subset of the data to the end-user. For more information about using record filters, see the Endeca Advanced Development Guide. |
Use for record spec |
When checked, specifies that you want to use this Endeca property as a record specifier (a unique string-based identifier). Record specifiers are required to support the partial updates feature and Term Discovery features. Even though those two features are the only two that require a record spec, Oracle recommends that you assign one property in the project as the record spec. |
Show with record list |
When checked, enables this Endeca property to appear in the record list display. Any records that are tagged with this property will have this value shown as part of their entry in the record list. |
Show with record |
When checked, allows this property to appear on the record page. Any records that are tagged with this Endeca property will have this property shown as part of their entry on the record page. |
Language |
Specifies the language for this property so that the MDEX Engine can perform language-specific operations correctly. If your application tends to have mixed-language records, and the languages are segregated into different properties, setting a per-property language ID might be appropriate. For more information about language settings, see the Endeca Advanced Development Guide. |
Option |
Description |
---|---|
Enable record search |
When checked, indicates that record search should be enabled for this Endeca property. Record search finds all records in an Endeca application that have a property whose value matches a term the user provides. Checking "Enable record search" makes the following additional options available. |
Enable wildcard search |
When checked, indicates that a user query can contain a wildcard character (*) to match against fragments of words in a property value. You must enable each property that you want available for wildcard searching. |