How to add Endeca Record Sort options in ATG 11.1? - Core Endeca

1) Go to /opt/app/endeca/apps/CRS/config/mdex/record_sort_config.xml and add the desired properties that can sort the result set.
Example:
<RECORD_SORT_CONFIG>
  <RECORD_SORT NAME="product.displayName"/>
  <RECORD_SORT NAME="product.salePrice"/>
  <RECORD_SORT NAME="product.bvRatings"/>
</RECORD_SORT_CONFIG>

2) Run a baseline index to create the sorts in the MDEX.

How to Enable Endeca property for record filtering in ATG 11.1? - Core Endeca

1) Add the desired property in the /opt/app/endeca/CRS/config/index_config/index_config.json and add "isRecordFilterable" : true in the property.
For example:       
"product.repositoryId" : {
          "propertyDataType" : "ALPHA",
          "mergeAction" : "UPDATE",
          "isRollupKey" : true,
          "jcr:primaryType" : "endeca:property",
          "isRecordFilterable" : true

        },


2) Once you update index-config.json make sure to set configurations at Endeca repository level.
    Here is the command:
   /opt/app/endeca/apps/CRS/control :>
                          ./index_config_cmd.sh set-config -f ../config/index_config/index-config.json -o all

3) Run Endeca indexing

Endeca - Stop words

Endeca Stop words
Stop words are words that are ignored by the MDEX Engine when the words are part of a keyword search.

Where I can find OOTB Stop words?
Endeca 3.1.X
/opt/apps/endeca/apps/CRS/config/CRS.stop_words.xml
Endeca 11.X
/opt/app/endeca/apps/CRS/config/mdex/CRS.stop_words.xml

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<!DOCTYPE STOP_WORDS SYSTEM "stop_words.dtd">
<STOP_WORDS>

  <STOP_WORD>a</STOP_WORD>
  <STOP_WORD>do</STOP_WORD>
  <STOP_WORD>me</STOP_WORD>
  <STOP_WORD>when</STOP_WORD>
  <STOP_WORD>about</STOP_WORD>

  <STOP_WORD>find</STOP_WORD> 
 <STOP_WORD>not</STOP_WORD>
  <STOP_WORD>where</STOP_WORD>
  <STOP_WORD>above</STOP_WORD>

  <STOP_WORD>for</STOP_WORD>
  <STOP_WORD>or</STOP_WORD>
  <STOP_WORD>why</STOP_WORD>
  <STOP_WORD>an</STOP_WORD>
  <STOP_WORD>from</STOP_WORD>
  <STOP_WORD>over</STOP_WORD>
  <STOP_WORD>with</STOP_WORD>
  <STOP_WORD>and</STOP_WORD>
  <STOP_WORD>have</STOP_WORD>
  <STOP_WORD>show</STOP_WORD>
  <STOP_WORD>you</STOP_WORD>
  <STOP_WORD>any</STOP_WORD>
  <STOP_WORD>how</STOP_WORD>
  <STOP_WORD>the</STOP_WORD>
  <STOP_WORD>your</STOP_WORD>
  <STOP_WORD>are</STOP_WORD>
  <STOP_WORD>I</STOP_WORD>
  <STOP_WORD>under</STOP_WORD>
  <STOP_WORD>can</STOP_WORD>
  <STOP_WORD>is</STOP_WORD>
  <STOP_WORD>what</STOP_WORD>
</STOP_WORDS>

 You can add application specific stop words in above mentioned file and run Endeca baseline update.

Assembler Code to fetch Endeca Experience Manager and Endeca GuidedSearch content - Endeca Assembler API

Code snippet to invoke Endeca Experience Manager Content:

<dsp:droplet name="/atg/endeca/assembler/droplet/InvokeAssembler">
            <dsp:param name="includePath" value="/pages/browse" />
            <dsp:oparam name="output">
               <dsp:getvalueof var="contentItem" vartype="com.endeca.infront.assembler.ContentItem"         param="contentItem" />
            </dsp:oparam>
</dsp:droplet>

Code snippet to invoke Endeca Guided Search content:

 <dsp:droplet name="/atg/endeca/assembler/droplet/InvokeAssembler">
            <dsp:param name="includePath" value="/services/guidedsearch" />
            <dsp:oparam name="output">
               <dsp:getvalueof var="contentItem" vartype="com.endeca.infront.assembler.ContentItem" param="contentItem" />
            </dsp:oparam>
  </dsp:droplet>

Input Parameters
The InvokeAssembler servlet bean has two input parameters, includePath and contentCollection.

includePath
Use the includePath parameter for a page request.
For example, to assemble content for a browse page, specify /pages/browse for the includePath (passing in a /browse path will not match because it is missing the /pages prefix).

contentCollection
Use the contentCollection parameter for a content collection request.
For example,  Search Box Auto Suggest Content. InvokeAssembler parses the contentCollection into a ContentSlotConfig component.

The includePath and contentCollection parameters are mutually exclusive but one of them must be passed when using the InvokeAssembler servlet bean.

ruleLimit
This optional parameter is used in conjunction with the contentCollection parameter to specify the number of items that should be returned from the specified content collection.

Output Parameters
The InvokeAssembler servlet bean has one output parameter, contentItem. This parameter contains the root ContentItem returned by the Assembler. If this content item is empty, the request was not an Assembler request.

ATG Endeca Data Integration Diagram - v3.1.x

Integration Overview 

The basic workflow diagram to show integration of the ATG product catalog with Endeca.

As seen in the diagram above, the data integration supports the publication of Product or SKU and Category assets directly into Endeca Content Acquisition System (CAS) Record Stores. The developer can control the type and granularity of assets published via the Product Exporter and the Category Exporter.

The Product Exporter behavior is managed by the Product Indexing Configuration file, which specifies the granularity and inclusion of product or SKU assets.

The Category Exporter is managed by the Category Indexing Configuration, which specifies the export of the Category to Dimension.

The Schema Exporter, managed by the Schema Indexing Configuration, exports schema information to Endeca.

Operationally, the publication of ATG assets and creation of the corresponding Endeca index is controlled by the ATG Web Commerce Product Catalog Indexing Administrator (Indexing Admin). The Indexing Admin invokes the Endeca Application Controller (EAC), which controls the creation and publication of the Endeca index throughout your production or staging environment.

The EAC, via configurable Endeca Deployment Template modules, controls the orchestration of the Endeca index creation process. Further, the EAC orchestrates the publication of the built Endeca index to all configured production or staging servers and ensures that the Endeca MDEX is running.

Indexing Using ATG Dynamo Administration UI  

Navigate to the ProductCatalogSimpleIndexingAdmin component to invoke the Endeca baseline Indexing process or partial update where localhost and 8080 are the host and HTTP port of your production ATG instance (or publishing instance, if you are using publishing).