In some cases, you may want to output the values of a property for some repository items of a certain type but not for others of that type. For example, you may want to output the value of the longDescription property of most product items, but omit this property for a few specific product items.

The Oracle Commerce Platform includes an interface, atg.repository.search.indexing.IndexingPropertyFilter, for filtering properties of specific repository items. This interface defines a single method:

filterOutputProperties(RepositoryItem pItem,
  OutputProperty[] pOutputProperties)

This method is used to implement the logic that determines which property values to exclude from output records.

The Oracle Commerce Platform also includes a class that implements this interface, atg.repository.search.indexing.filter.GSAPropertyFilter. This class has two properties that are used to specify the property values to exclude:

To apply a GSAPropertyFilter component to an item type, you use the filter attribute of the item element in the EndecaIndexingOutputConfig definition file.

The filterOutputProperties() method of the GSAPropertyFilter class examines the idToType property to see which repository items to filter.

You can create other components of class GSAPropertyFilter and configure the idToType and propsToFilter properties to filter different item types and properties, or you can implement different filtering logic by writing your own class that implements the IndexingPropertyFilter interface.


Copyright © 1997, 2019 Oracle and/or its affiliates. All rights reserved. Legal Notices