- SearchSpring KnowledgeBase
- SearchSpring.Catalog.init() function and options
- SearchSpring Developer Documentation
- Integrating Rich Autocomplete
- Generic Search API
- Search engine SaaS that offers:
- Site Search
- Standard Search
- Autocomplete Search
- Merchandising
- Analytics
- IntelliSuggest
- Misc:
- Advanced Site Search, Search Autocomplete, Category Navigation, Mobile Search, Merchandising, Facebook Integration, Advanced Reports, Product Comparison, Faceting & Filtering, Synonyms, Fuzzy Search, “Did You Mean?”, Redirects, and more.
- Site Search
- Founded by Gareth Dismore & Scott Zielinski
- Based out of Colorado Springs, CO
- Miva Partner since 2008
Search Spring works is by providing them a product data feed file, configuring settings about the data within that file, and then adding JavaScript to the store to display results provided by Search Spring.
-
Develop out the Standard Miva Category & Search pages. SearchSpring will use existing HTML & CSS to prepare the results.
-
Get access to a SearchSpring account
- SearchSpring’s service is maintained through their Management Dashboard. That is where you will clarify where the data feed is and what kind of data is in the feed.
- Either receive access from the client, or reach out to SearchSpring on behalf of the client. See their Design Requirements for a SearchSpring Mockup
-
Prepare a Data Feed in Miva
- Most of the time you can use SearchSpring’s Miva module to generate a text-file.
- Download & install their module
- Configure the store's Menu > Utilities > Search Spring module to include all of the data that will need to be displayed on included in the search matches.
- If the client needs information that is not available through the Search Spring module, then we can generate the Search Spring feed with a custom Miva page
- Determine the which data is needed:
- To display in the Results
- To be offered as a Facet
- To be used for sorting
- To be Searchable
- Create a Feed Generator
- Use the Miva module
- OR use a customized Miva page template
- OR Use Miva's Marketing > Feeds module
- OR build your own
Create a web-accessible endpoint that accepts a
?Offset=100
parameter and outputs the next offset number asContinue|200
to help SearchSpring's indexer paginate through all the products. Finally, just outputComplete
when there are no more products to regenerate.
-
Configure the SearchSpring account
- Point to the location of the feed file
- Trigger an index
- Configure the Field settings
- Configure the Facet & Sorting options
- Update the AJAX Display templates
- The templates use the Twig Template engine
-
Create a new
SEARCH
page in Miva.- You can use the regular SRCH page template to get started, then just remove the
search_results
item and content.
- You can use the regular SRCH page template to get started, then just remove the
-
Add two DIVs to your search page:
<div class="searchspring-results_container"></div>
<div class="searchspring-facets_container"></div>
.searchspring-facets_container
typically wraps-arround or is put in-place of the left-column category tree
.searchspring-results_container
typically is put in the main content section of the page where the search results go.
- Add SearchSpring.Catalog.init directly after our two DIVs are loaded on to the page:
<script type="text/javascript" src="//cdn.searchspring.net/ajax_search/js/searchspring-catalog.min.js"></script>
<script type="text/javascript" src="//cdn.searchspring.net/ajax_search/sites/[SITEID]/js/[SITEID].js"></script>
<script type="text/javascript">
// More options at: https://searchspring.zendesk.com/hc/en-us/articles/201184849-SearchSpring-Catalog-init-function-and-options
var options = {
template: 'minimal'
};
SearchSpring.Catalog.init(options);
</script>
NOTE: The [SITEID] is specific to your SearchSpring management console account.
Various options can be passed into this init to trigger different features / callbacks during our API call. View the SearchSpring Catalog Init Function & Options api documentation for more information, and a Gist of Sample Catalog Init Options
- Category Page
Repeat the previous two-steps for the cateogry page and add a backgroundFilter
to the SearchSpring.Catalog.init
options
-
Update the existing global-header search form with the following:
- Use method="get" on the search form tag itself
- Use name="q" on the search form's input field
- Add class="searchspring-query" on the search form's input field
- Add autocomplete="off" on the search form's input field
-
Add the following below the search form to trigger our AutoComplete suggestions:
<link rel="stylesheet" type="text/css" href="//cdn.searchspring.net/autocomplete/autocomplete-v2.css">
<script type="text/javascript" src="//cdn.searchspring.net/autocomplete/searchspring-autocomplete.min.js"></script>
<script type="text/javascript">
SearchSpring.Autocomplete.init({
siteId: '[SITEID]',
queryClass: 'searchspring-query'
});
</script>
This article lists out a few options that can be used for that AutoComplete init call. Add any CSS styling to overwrite our default AutoComplete styles
- IntelliSuggest Search Result Click Tracking
- Adding IntelliSuggest Tracking
- SearchSpring Sample Miva Implementation
- Gist of another SearchSpring Sample Miva Implementation
Search Spring does not offer the source or template control of how the facets are displayed to the page. In order to change the look of how the facets are displayed, you need to do it through JavaScript within their SearchSpring.Catalog.init function and one of it’s options.
View this Gist for More Information
- Prepare the Data Feed file contents Add all of the columns and prepare them with the proper data. This will be done in the Miva Admin’s Search Spring Module configuration or in the custom Miva page that is generating the feed file.
- “Check for New Fields” in the Search Spring Admin. In the Search Spring admin go to the “Data Feed” section and click the “Check for New Fields” link/button.
- Configure the “Fields > Field Settings” options After Search Spring discovers your new fields, they will display in the Fields > Fields Settings section of the Search Spring Admin panel. Configure the: Label, Type, Mutli-Valued, Display, Sort, Facet, Compare, Search, and Weight according to the site’s needs.
- Update “Fields > Core Fields” (if applicable)
- Update “Fields > Faceting” (if applicable)
- Update “Fields > Sorting” (if applicable)
- Manually trigger a re-index At the top right of the Search Spring admin, there is an “Index Status” link. Go there and click the “Update Index” link. Search Spring will begin interpreting your data feed file according to the Field Settings, and the Search Spring admin will display a message when it completes.
- Display the new fields in the AJAX Display templates (if applicable) Now that Search Spring has completed the index of the new fields. You can display them within the “AJAX Display > Item Templates” & “AJAX Display > Compare Templates”. Once you add the new data, Search Spring should display the changes within a minute or two.