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

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.

ATG - quick reference to commonly used DSP Tags

In this blog, I would like to give a quick reference to the most commonly used DSP Tags.Note that in this DSP tag details : bean refers to a Nucleus path, component name, and property name param refers to a Page parameter value refers to a Static-value var refers to a EL variable id refers to a scripting variable ============================================================== 1.dsp:importbean     example: <dsp:importbean bean="/atg/dynamo/droplet/Switch"/> ============================================================== 2.dsp:page     usage: It encloses a JSP. The dsp:page invokes the JSP handler, which calls the servlet pipeline and generates HTTPServletRequest.    example:    <dsp:page> ..... </dsp:page> ============================================================== 3.dsp:include     usage: Embeds a page fragment in a JSP.     example:   <dsp:include src="/myPage/Result...

ATG - basic concepts of ATG

This blog is for the ATG beginners to get some basic overview about ATG. I just given the ATG concepts as a list of numbered points for the ease of understanding. 1. At the framework level, ATG is a               java based application platform for hosting web-based applications, as well as RMI accessible business components,               with an ORM layer,               a component container,               an MVC framework,               and a set of tag libraries for JSP. 2. Art Technology Group(ATG)'s Dynamo Application Server (DAS) is a Java EE compliant application server. DAS is no longer actively developed as ATG recommends using other Java EE applications servers for its products such as BEA WebLogic, JBoss or IBM WebSphere. 3. Prior to ATG 2007, JHTML was used instead of JSP for view purpose. J...

Basic design decisions for a commerce search setup ( with an ATG Search view)

In this blog I would like to explain the basic set of configuration/design decisions needed to setup an ATG search project. Most of these design decisions are common for all Enterprise search applications. 1. Decide the searchable properties :   This means the properties that the business want the user to search in the ecommerce platform. In ATG search these are configured as the text properties in the product-catalog-output-config.xml ( the definitionFile of the \atg\commerce\search\ProductCatalogOutputConfig). Usually the displayName of product/sku, displayName of department/category/sub-category, skuId, brandName are the properties configured as searchable. 2. Decide the search refinement properties or the faceted properties :   After a user search for a keyword, search refinement is the next step done to filter his results. ATG supports the search refinement using the Faceted Search concept. Read more about facted search @...

JBOSS How to change the default HTTP port 8080

To change the default HTTP port 8080, you need to edit the “jboss-service.xml” (<jboss>\server\<application>\conf\jboss-service.xml). In your “jboss-service.xml” ,search for the mbean ServiceBindingManager. It will be commented by default. You can uncomment it. It is referring to a sample xml port binding file in the example folder ( ${jboss.home.url}/docs/examples/binding-manager/sample-bindings.xml ). You can either use this xml or copy it to another location and give that path in your “jboss-service.xml”. In the sample-bindings.xml,  search for the <server name=”ports-01?> ( as given in your “jboss-service.xml” ) . In this “server name” , search for the “service-config” with <delegate-config portName=”URLPort”/> for the “type=HTTP” and change the port to <binding port=”8180?/> to use 8180 instead of 8080.