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

Search Facets - how to create a new search facets in ATG Search

A Facet is a search refinement element that corresponds to a property of a commerce item type. ATG supports the search result refinement using the Faceted Search concept. Read more about facted search @  http://en.wikipedia.org/wiki/Faceted_search . Facet can either be ranges or specific values. Each facet is stored in the RefinementRepository as a separate refineElement repository item. Facets are divided into Global and Local facets. Global facets apply to all the categories and local facets only to the category in which they are created. For example Price/Brand can be considered as the facets that are common for all skus and New Release/Coming Soon can be considered as the facets that are specific to Physical Media products like Vidoe/DVD/Blue-ray/Books. We can use the ATG BCC - Merchandising UI to create facets. The Faceting Property depends on the meta-properties defined in the \atg\commerce\search\product-catalog-output-config.xml ( the def...

Jsp and CSS size limits that web developers need to aware

Here I am listing some erroneous cases that might occur in your web development phase, due to some size restrictions. JSP file size limit : You might get some run time exceptions that the JSP file size limit exceeds. Please find below the reason : In JVM the size of a single JAVA method is limited to 64kb. When the jsp file is converted to Servlet, if the jspservice method's size exceeds the 64kb limit, this exception will occur. Keep in mind that this exception depends on the implementation of the JSP translator, means the same JSP code may give an exception in Tomcat and may run successfully in Weblogic due to the the difference in the logic to built the Servlet methods from JSP. The best way to omit this issue is by using dynamic include.For example, if you are using                  <%@ include file="sample.jsp" %> (static include),  replace this to               ...

Quick Reference to JAVA Servlets

I am writing these quick reference blogs for those who wants to brushup the ideas of each topic. This one will lead you through the basic concepts of JAVA Servlets. How this quick reference guideline is different from the numerous other docs available ?  ,  please read on to get an idea : Servlet Lifecycle : The container will identify the servlet based on the URL Servlet class loading Servlet instantaition Call init method Create a servlet thread for the current request. Before calling service(), will create the request and response objects Call service method Service method will identify whether to call doGet or doPost and call it Call destroy method Different servlet objects : A sinlge servlet instance per JVM ( except for SingleTheadModel) A sinlge HttpSession per web application ( session activation and passivation) A sinlge ServletContext per JVM A sinlge ServletConfig per servlet A sinlge ServletRequest per servlet request Important Servlet rq...

ATG User Profile schema ER diagram

Check out the Product Catalog  schema ER-Diagram @  http://tips4ufromsony.blogspot.in/2012/01/atg-product-catalog-schema-er-diagram.html Check out the O rder schema ER-Diagram @   http://tips4ufromsony.blogspot.in/2012/02/atg-order-schema-er-diagram.html If you would like to know the relationship between different User Profile schema tables, please find below screen shot of  Profile schema ER Diagrams.  

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.