Search engine customization

Due to varying site requirements, you will probably find it necessary to use database table columns in your search that do not exist in the catalog search framework provided upon installation. The catalog search framework search engine is a class. To customize it, do the following:

  1. Define the search metadata for each attribute and table you want to make searchable. This requires the following:
    1. Each searchable table must have a corresponding class that is a subclass of the TableInfo class. This subclass must specify the table name.
    2. Each searchable constraint must have a corresponding class that is a subclass of the AttributeInfo class. This subclass must specify the table info, the column name, and the SQL datatype of the column.
  2. Create a subclass of the RuleQuery class, and define static references for each new search constraint.
  3. Create the findAttributeInfoName() method. Modify the method to call the super.findAttributeInfoName() method. Add factory class creation logic to this method to create an AttributeInfo metadata class for each searchable constraint as needed.
  4. Modify the search.xml file adding predefined table join relationships for any new searchable tables. Join relationships are required for all table combinations.

For a detailed explanation on how to perform the customization, refer to the WebSphere Commerce Accelerator Customization Guide.