Skip to main content

ATG Search - performance decisions in Enterprise search

Read more about the basic design decisions for a commerce search setup @ http://tips4ufromsony.blogspot.in/2012/03/basic-design-decisions-for-commerce.html

Read more about search engine tuning @ http://tips4ufromsony.blogspot.in/2012/02/atg-search-search-engine-tuning.html

Following items will affect search performance:  number of items to be searched, quantity of content for each item, number of meta tags, number of facets, Search Merchandising settings, constraints, number of returned results,... You could find a detailed analysis below :

1. Decide how many search engines you need : Based on the performance requirement of the ecommerce site, create the Search Project @ BCC - Search Admin and add the search engine hosts. Read more about search project creation and search engine host set up @  http://tips4ufromsony.blogspot.com/2012/01/atg-search-how-to-create-search-project.html.

2. Decide the search indexing properties : Search indexing time and search response time are dependent on the index file size. As part of verification process, the irrelevant attributes from search index definition file should be removed. As a result, users will view relevant results with less number of attributes and also will get improvements in search indexing time.

3. Decide how many search projects you need : If your application is a multi locale application, you could create multiple search project for each locale. This will give you more options for each locale and a separate search engine can support a locale. Read more about search project creation @  http://tips4ufromsony.blogspot.com/2012/01/atg-search-how-to-create-search-project.html.

4. Decide whether you need to do parallel search indexing : If you have multiple search projects, you could do parallel search indexing and improve search indexing performnace.

5. One search engine per box : Search engines should always run on their own machine, with no other applications running.  This is critical for machines responding to search queries to ensure proper and consistent user experience.

6. Indexing engine box : The search engine used for indexing should not be run on the same server as an engine used for query response.  The search engine used for indexing is preferred to be run on its own machine (with no other applications), but can be run on the CA/BCC.  If this is done, the CA machines should be deployed with extra power (CPU speed and cores, RAM) so that indexing does not affect BCC user experience.


Comments

Popular posts from this blog

How to convert your Blogger Blog to PDF ?

You can use a website called "blogbooker" @  http://www.blogbooker.com/blogger.php   to convert your Blogger Blog to a PDF . Please find the steps below : 1. Save your blog as an xml using Blogger Settings - Other - Export Blog option 2. Go to the website " http://www.blogbooker.com/blogger.php " and select this XML , give your blog address and select the options like date range, page size, font, ... 3. Click the  "Create Your BlogBook" button to view and save your blog as PDF

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.

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 @...

ATG - how to use the Transaction Manager

Basic concepts of Java transaction In its simplest definition, a transaction is a set of actions that is treated as an atomic unit; either all actions take place (the transaction commits), or none of them take place (the transaction rolls back). Managing transactions is one of the primary tasks of an application server. The application server keeps track of transactions, remembering which transaction is associated with which request, and what transactional resources (such as JDBC or JMS connection) are involved. Each active transaction is represented by a transaction object, which implements the interface javax.transaction.Transaction. A transaction is usually associated with a thread and only one transaction can be associated with a thread at any one time. A central service, called the Transaction Manager, is responsible for keeping track of all these transactions. The Transaction Manager is implemented through the Java Transaction API (JTA). Transaction and Dynamo ap...