Skip to main content

ATG Search - how the search rules are deployed as refinement config xmls during search indexing

The rules that make up the search configurations are created in ATG Merchandising and stored as repository items in the RefinementRepository. When the product catalog is deployed from the ATG Merchandising environment to the target site, the RefinementRepository is deployed as well.

For the soap call from the commerce instance to the search engine, for text queries we normally use refineConfig=”map” and the search engine itself determines the right refine config for the query.

When Search Administration initiates indexing of the product catalog, it also invokes the /atg/commerce/search/config/CatalogRankConfigAdapter component. This component is a customization adapter that manages the process of generating the search configuration files and submitting them to ATG Search.

To generate the search configuration files, CatalogRankConfigAdapter invokes the /atg/search/repository/SearchConfigurationXMLGenerator component (of class atg.repository.search.indexing.config.SearchConfigurationXMLGenerator). This component is responsible for transforming the repository items into the XML files that represents rule sets in ATG Search.

SearchConfigurationXMLGenerator calls various other components that parse the rules in the RefinementRepository and generate XML representations of those rules. These are known an the refinement  config xmls. You could find below a sample refinement config xml :


<?xml version="1.0" encoding="UTF-8"?><!--This refinement configuration was automatically generated by /atg/commerce/search/refinement/RefinementConfigurationXMLGenerator at May 20, 2011 8:58:19 AM--><refineConfig name="categorycat171770058" specificity="4"><mapping>cat4880034</mapping><mapping>cat171770066:catalog10001</mapping><refineElement exclude="" filter="1" id="20008" label="Brand" order="" property="childSKUs.brandName" range="false" select="" sort="count" type="string"/><refineElement exclude="" filter="1" id="35002" label="Age" order="" property="childSKUs.Age" range="false" select="" sort="count" type="string"/><refineElement exclude="" filter="1" id="20018" label="Sub-category" order="" property="sub-category.$repositoryId" range="false" select="" sort="count" type="string"/></refineConfig>

Comments

Popular posts from this blog

Good features of Eclipse 3.6 (Eclipse Helios) JDT

Read the Eclipse Galileo features @  http://tips4ufromsony.blogspot.com/2011/10/good-features-of-eclipse35-eclipse.html New options in Open Resource dialog : The Open Resource dialog supports three new features: • Path patterns: If the pattern contains a /, the part before the last / is used to match a path in the workspace: • Relative paths: For example, "./T" matches all files starting with T in the folder of the active editor or selection: • Closer items on top: If the pattern matches many files with the same name, the files that are closer to the currently edited or selected resource are shown on top of the matching items list. MarketPlace :  Searching and adding new plugins for Eclipse have always been a challenge. The Eclipse Marketplace makes this much easier – it allows you to not only search a central location of all Eclipse plugins, but also allows you to find the most recent and the most popular plugins. Fix multiple proble...

Google Chrome shortcut keys

If you are a Google Chromey guy, please find below the list of shortcut keys for some of the most used features  :-) Find more shortcut keys @  http://www.google.com/support/chrome/bin/static.py?page=guide.cs&guide=25799&topic=28650

Lucene, sample JAVA code to Search an indexed file folder

Please find below the Lucene sample JAVA code to search the files inside a folder. This code will search the indexed folder for a search query in an indexed field. This java code is expecting the index path ( where the index files were created ) , field which need to be searched and the query need be searched as program arguments like  "java SearchFiles [-index dir] [-field f] [-query string]" . import java.io.File; import java.util.ArrayList; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.standard.StandardAnalyzer; import org.apache.lucene.document.Document; import org.apache.lucene.queryParser.QueryParser; import org.apache.lucene.search.IndexSearcher; import org.apache.lucene.search.Query; import org.apache.lucene.search.ScoreDoc; import org.apache.lucene.search.TopDocs; import org.apache.lucene.store.FSDirectory; import org.apache.lucene.util.Version; public class SearchFiles { public static void main(Stri...

ATG - more about Forms and Form Handlers

An ATG form is defined by the dsp:form tag, which typically encloses DSP tags that specify form elements, such as dsp:input that provide direct access to Nucleus component properties. Find below a sample dsp:form tag.    <dsp:form action="/testPages/showPersonProperties.jsp" method="post" target="_top">      <p>Name: <dsp:input bean="/samples/Person.name" type="text"/>      <p>Age: <dsp:input bean="/samples/Person.age" type="text" value="30"/>      <p><dsp:input type="submit" bean="/samples/Person.submit"/> value="Click to submit"/>    </dsp:form>   When the user submits the form, the /samples/Person.name property is set to the value entered in the input field.Unlike standard HTML, which requires the name attribute for most input tags; the name attribute is optional for DSP form element tags. If an input tag omits the n...

Eclipse plug-in to create Class and Sequence diagrams

ModelGoon is an Eclipse plug-in avaiable for UML diagram generation from Java code. It can be used to generate Package Dependencies Diagram, Class Diagram, Interaction Diagram and Sequence Diagram. You coud get it from http://marketplace.eclipse.org/content/modelgoon-uml4java Read more about it and see some vedios about how to create the class and sequence diagram @ http://www.modelgoon.org/?tag=eclipse-plugin Find some snapshots below which gives an idea about the diagram generation.