Integrations
/
Platforms
/
Shopify
/
Custom InstantSearch Implementation
Oct. 13, 2020
Custom InstantSearch Implementation
To set up your search UI, open the Shopify Theme Editor and do the following:
1. Import the InstantSearch libraries
To import the InstantSearch libraries into your shop, add the following lines to the theme.liquid
layout right before </head>
:
Copy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<head>
<!-- ... -->
<script
src="https://cdn.jsdelivr.net/npm/algoliasearch@4.5.1/dist/algoliasearch-lite.umd.js"
integrity="sha256-EXPXz4W6pQgfYY3yTpnDa3OH8/EPn16ciVsPQ/ypsjk="
crossorigin="anonymous"
></script>
<script
src="https://cdn.jsdelivr.net/npm/instantsearch.js@4.8.3/dist/instantsearch.production.min.js"
integrity="sha256-LAGhRRdtVoD6RLo2qDQsU2mp+XVSciKRC8XPOBWmofM="
crossorigin="anonymous"
></script>
<link
rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/instantsearch.css@7.1.1/themes/reset-min.css"
integrity="sha256-JQ2nnTmybhOWSjfV3sa8mG0ZVhTCcORER4cyXc5HL10="
crossorigin="anonymous" />
{{ 'search_ui_instant_search.js' | asset_url | script_tag }}
</head>
2. Initialize the InstantSearch client
To initialize the InstantSearch client in your shop:
- Go to the Themes tab of your Shopify admin.
- Click the action button on the theme you plan to implement InstantSearch in.
- Select the edit code option. This will take you to a code editor.
- Click on the Assets folder in the sidebar.
- Click Add a new asset.
- Create a file called
search_ui_instant_search.js
. In this file, put the following bootstrap snippet:
Copy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
const searchClient = algoliasearch(
'YourApplicationID',
'YourSearchOnlyAPIKey'
);
const search = instantsearch({
indexName: 'shopify_products', // your Algolia products index name
searchClient,
});
search.addWidgets([
instantsearch.widgets.searchBox({
container: '#searchbox', // update this selector to match your search page
}),
instantsearch.widgets.hits({
container: '#hits', // update this selector to match your search page
})
]);
search.start();
3. Build your search UI
You can now build your search UI.
You can choose which InstantSearch widgets you want to use by looking at the InstantSearch documentation.
Did you find this page helpful?