In this post I will make an attempt to explain the most important concepts and common terms used in Oracle Endeca world.
What is Endeca?
- Endeca Technologies was founded in 1999 and privately held till last quarter of 2011.
- Oracle Corporation acquired Endeca Technologies on October, 2011 for a whopping $1.075 Billion.
- Endeca is a vertical/enterprise/e-commerce search solution.
- Endeca is widely used to e-commerce domain for guided navigation.
- Endeca is also used for data discovery in business intelligence and data warehouse segment.
- Endeca is a data management product which can index structured, semi-structured and unstructured data and make it available for mining, discovery and guided navigation.
- As of today Oracle sells two Endeca solutions. 1. Oracle Endeca Commerce 2. Oracle Endeca Information Discovery.
What are Oracle Endeca Records?
Records are roughly equivalent to a database row. If you are familiar with Lucene/Solr then you can relate it with a document. Normally data is de-normalized and stored in records. I will explain you this concept with simple example. Imagine that we are indexing trade entity into Endeca MDEX. Trade entity is already in a normalized state in database.
|1||London Stock Exchange||EMEA|
|2||The New York Stock Exchange||Americas|
|3||Bombay Stock Exchange||Asia|
A normalized entity trade will be denormalized and stored in the MDEX. One records will looks like something similar to what is given below.
|101||8231490||1||London Stock Exchange||EMEA||1||GBP||£|
What are Oracle Endeca Dimensions?
Dimensions are nothing but a logical structure to organize your data so that user can navigate the information space iteratively. This is roughly equivalent to group by clause in database and facet in any other search solution. Imagine that the exchange_id property is defined as a dimension in the above data structure then the data would be grouped using exchange id and stored in internal data structures and presented to user in such a way that he/she can easily navigate through it. It would conceptually looks like the diagram given below.
In the above diagram “Stock Exchange Property” is a dimension and that dimension got three possible refinements. So if you make a navigation query using nid ’0′ then you will get all the records and navigation query with nid ’2344′ would return just the record R4.
What is Oracle Endeca Dimension Group?
Dimension Group (com.endeca.navigation.DimGroup) is an immutable object used to group a collection of related Dimensions. (com.endeca.navigation.Dimension) Dimension Group is used to present a set of dimensions under a logical entity.
What are Oracle Endeca Properties?
As you have understood already the Endeca Records are derived from the source records. Every record would be a collection of properties or key/value pairs. In the above given example record, trade_id is a key and ’101′ is the value. Key/Value pair is called as Endeca property.
What is nid in Oracle Endeca?
“NID”; Its another common term people uses in Oracle Endeca world. Its nothing but the id of a given dimension. When you make a navigation query you have supply the nid so that Endeca can limit your navigation to a sub-tree. “0″ is the nid of the root. If you wanted to do a navigation search against the whole record set then you must use “0″ as your nid.
Searchable vs Non-Searchable Properties.
If you are coming from Lucene/Solr world then its easy for you to understand this. Searchable are equal to indexed property and Non-Searchable are same as of the stored property. Only the indexed properties are available for search.
What does ENE stand for?
You would have seen multiple classes in the Oracle Endeca presentation API start with ENE. Few examples are..
ENE stands for Endeca Navigation Engine. ENE is an alias for DGraph and A-ENE is an alias for AGraph.
I will keep updating this post with more concepts and term. Stay tuned…