Skip to main content

ATG Search - how to configure multiple language search

Here I am going to explain the steps involved in configuring the multi-language ATG Search if your site support multiple language. I have given the different steps in indexing and search flows.

Indexing flow :
  1. You could configure different search projects for different locales to support parallel search indexing for each locale.
  2. You could setup search environment for the search projects so that the indexing host is different for the two projects.
  3. Configure the LocaleVariantProducer @ ProductCatalogOutputConfig to specify the locale for the new language.
  4. Include the language dictionaries you need in Search Admin on the Search Projects which can be used for indexing and searching in multiple languages.
  5. Specify the locales @ \atg\search\config\LanguageDimensionService so that you could configure the search configurations for each language.
  6. When you create the search configuration tree, specify the "Contents vary by" as Language, to configure the search configurations like search redirection, result exclusion,... for each language.
  7. You need to configure the facet values as locale specific.
Search flow : 
  1. Search Formhandlers must ensure that the correct language is specified in the query requests, that it submits to Search Routing.
  2. The language input to the search engine is set in the search request from the OOB ParserOptionsXMLBuilder class. It gets the locale from the /atg/dynamo/servlet/RequestLocale and gets the language associated with the locale. The RequestLocale component is a session-scoped component that attaches locale information to the requests of the session. 
  3. In eStore (commerce) FormHandlers/Droplets set the corresponding siteName based on the current locale in /atg/dynamo/servlet/RequestLocale.
  4. You need to configure the Facet Labels specific to the locales.

Comments

Popular posts from this blog

Eclipse Kepler - good features of Eclipse 4.3 ( Eclipse Kepler ) JDT / Workbench

Detached windows with sash When you detach a view or editor into its own separate window, it now has all the capabilities of a normal workbench window. They now support multiple stacks of views separated by sashes with arbitrary layouts. The detached parts will remain synchronized with the master window that they were detached from. This is especially handy for people developing with two or more monitors, so they can spread views across several monitors and keep them synchronized. Import nested projects The Import Projects wizard now has an option to continue searching for projects to import recursively within any project it finds. This allows you to import physically nested projects at the same time. Open Resource dialog enhancements The Open Resource (Ctrl+Shift+R) dialog now offers direct access to the Show In and Open With menus via drop-down buttons. On platforms that support mnemonics, the buttons are also accessible via Alt+W and Alt+H. Whole word option...

Check your PF balance

You can check your PF balance from the site :   http://www.epfkerala.in/ Go to the menu :  “ My Epf Balance ” .  This will lead to the url :  http://www.epfindia.com/MembBal.html Select the EPFO office where your account is maintained and furnish your PF Account number.You will be asked to enter your name and mobile number. The given mobile number will be recorded along with the PF Account Number. On successful submission of above information, the details will be sent through SMS to the given mobile number. Please find below some screen shots:

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

ATG Order update - InvalidVersionException and ConcurrentUpdateException

ATG repository item descriptor can have the version property. The atg.adapter.gsa.ItemTransactionState holds this version information. For example consider the Order item-descriptor. It has the version property defined against the table dcspp_order. Means, the dcspp_order table has the column version which defines which version of order is currently in the DB. Each order update flow will update this column.  <property name="version" display-name-resource="version" data-type="int" queryable="true" readable="true" column-name="version" hidden="false" category-resource="categoryInfo" expert="true" required="false" cache-mode="inherit" writable="true">     <attribute name="uiwritable" value="false"/>     <attribute name="propertySortPriority" value="30"/>   </property> ------------------------------- Du...

ATG Search troubleshooting tips

In this blog, I have listed some basic ATG Search troubleshooting tips in some general scenarios. 1. If the index did not deploy, consider the following possible causes : Is the DeployShare property configured @ /atg/search/routing/LaunchingService component ?  Is enough space available @ deployment share box for the index ?  Are the RMI ports configured correctly in the RoutingSystemService component ?  If the search engine application is running in a separate box, this application is invoked through a RemoteLauncher running in these boxes. Check whether these RemoteLaunchers are running in these boxes ? 2. If you have trouble in launching one or more search engines, try the following remedies: If the Search engine is standalone, set the /atg/search/routing/LaunchingService component’s engineDir property to the absolute path of the Search engine directory.  3. Search unavailable in the estore page, even when the SearchEngine is in "Running" st...