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

ATG Search architectural flow : Search and Index

I would like to explain the high level ATG Search implementation architecture ( for an online store) through the above diagram. In this diagram 1.x denotes the search functionality and 2.x denotes the indexing functionality. I have given JBoss as the application server. Physical Boxes and Application Servers in the diagram ( as recommended by ATG )  : Estore ( Commerce ) Box --> The box with the estore/site ear (with the site JSPs and Java codes). Search Engine Box --> The box with the search engine application running. Indexing Engine Box --> The box with the indexing engine application running. CA (Content Administration) Box --> The box with the ATG CA ear ( where we could take CA -BCC - Search Administration and configure the search projects) . Search Indexer Box --> The box with the ATG Search Index ear ( to fetch the index data from repository). Note that the engine performing indexing will need access ...

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

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

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