Configure search

You can configure Commerce search features that enable shoppers to search for products and other items in an OSF application.

This section describes how to configure search services and the search typeahead feature in an OSF application. For more information about configuring these and other search features, see Configure Search Features.

Configure search services

Each OSF application includes its own search configuration files that control the application’s search features, such as guided navigation. These files are found under the workspace's packages/apps/{appName} directory. Several of the widgets included with OSF use these configuration files to determine some aspects of their behavior.

The primary search configuration file is for the catalog search service. The location of this file within the application directory is:

config/search/config/pages/Default/osf/catalog.js

Each OSF accelerator template includes a sample catalog.js file. You can copy this file to your own application and modify it.

You can configure other search services for an application by creating a new service-name.js file in the directory config/search/config/pages/Default/osf. For example, you could add a file named store-locations.js to this directory with configuration for the Store Locations search service.

Note that you can use whatever naming convention you want for these search configuration files, but the name you give a configuration file is then used as a path parameter in REST API endpoints that access the service configured by the file. For example, for a configuration file named store-locations.js, the endpoints for accessing the configuration would use the following path:

/gsadmin/v1/cloud/pages/Default/osf/store-locations

Endpoints for querying the search service would use this path:

/ccstore/v1/assembler/pages/Default/osf/store-locations

Upload search configuration files

To upload search configuration files to the administration server, use the upload-search-config command:

yarn occ upload-search-config

This command uploads all search configuration files in the application's config/search/config/pages/Default/osf folder to the preview context. You can then promote these files to the live context by publishing them.

Configure typeahead keywords

In addition to the files for configuring search services, you can create a file for specifying custom typeahead keywords for an application. The location of the file within the application directory is:

config/search/data/keywords.js

Each OSF accelerator template includes a sample keywords.js file. You can copy this file to your own application and modify it.

When you upload the keywords.js file, the records in the file are appended to any existing custom typeahead keyword records. You can instead delete the existing custom keywords before adding the ones in the file by uncommenting the following lines:

// {
//   // Uncomment this "deleteAll" record to truncate existing
//   // supplemental(custom) typeahead keyword records.
//   'record.action': 'deleteAll'
// },

Upload a keyword file

To upload a keywords.js file to the administration server, use the upload-custom-typeahead-keywords command:

yarn occ upload-custom-typeahead-keywords

After you upload the file, make the keywords available by using the POST /ccadmin/v1/search/index endpoint to initiate indexing.