Project Planning
Introduction
There is a lot to consider when building out a scalable search solution for your site. The considerations below can help with your planning at the beginning of the process. Keep in mind that the HawkSearch Professional Services team has Engineers with over a decade of experience building out search solutions for some of the largest companies in the world as well as small teams looking to improve their initial search solution. We wish you good luck on your project!
Start on Development Environment
HawkSearch offers three environments for your project:
- Development
- Test
- Production
We typically recommend starting your project on Development for initial planning purposes. Note that the endpoints in the API section here point to the Development environment. Once you have indexed your data, you can add your API Key and actually run API tests straight from this website. See the Deployment section below for moving your index from the Development Environment to Test and/or Production with the support of the HawkSearch team.
Pick the framework that is right for you
HawkSearch provides three frameworks for building your search solution:
SDK
HawkSearch provides three SDK options: React, VUE and .NET. The documentation within this portal provides the details surrounding installing these options. These frameworks work well for developers who are familiar with these frameworks and how to extend them. The SDKs include components for the most common use cases on your site: search bar (including autocomplete), search results, recommendations and landing pages.
API
This option provides the most flexibility to the development team, but also means that HawkSearch is not providing the pre-built components described above.
Rapid UI Framework
This is a new HawkSearch option built on handlebars.js. This is a templating framework which offers a lot of flexibility to a technical resource related to styling and layout, but does enforce the components a bit more strictly such as the search bar, search results, recommendations and landing pages. So this is a faster framework for getting started but has less flexibility. Note that this framework can still be used by your non-technical team members for adding a recommendation to a blog post for example, even if the actual search experiences are built using an SDK or API.
Typical Project Flow
Although each project is different, most projects follow these steps:
- Define fields to be indexed in client system of record
- Create and configure fields in HawkSearch that map to these fields on Development Environment
- Define and build index process from system of record into HawkSearch. This may leverage the HawkSearch API or be handled through a Connector if the system of record is listed in the Connectors Section within this portal.
- Test indexing process to get data into HawkSearch index
- Configure merchandising rules within the HawkSearch dashboard
- Build front end solution for the search bar, search results, recommendations and/or landing page experiences (typically starting in a development or testing environment) leveraging the HawkSearch API, SDK or Rapid UI framework
- QA test entire process in a development/testing experience
- Coordinate with HawkSearch Customer Success Team to deploy Development/Test environment to production. This is typically done early in the week or weekends, and not late in the week.
Number of Indexes per Environment
Each environment comes with a default two indexes. One index is used for the website itself and the second is used for the next updates coming from your index process. If the index process has a problem, the website is not affected. When the index process is complete, the new index is replaced as the "current" index. There are APIs for supporting this process described in the API section.
It is possible to add other indexes to your environment if needed - this can be discussed with the Customer Success team.
Indexing Frequency
Each HawkSearch project has its own needs and requirements related to indexing frequency. The factors to consider are:
- How often is system of record data updated?
- How is system of record data updated (is it a full or partial update)?
- What data is changed in the system of record (i.e. attribute data affecting things such as facets or new records such as new products?)
- How large is the index?
Based on these considerations, we typically see a full index done every night with potential updates done dynamically throughout the day. Note that updates such as new products or new pages added to the index dynamically during the day for example do not require a new indexing process - they are automatically available to the next search request. But changes to fields, facet information for example do indeed require a new indexing process which could impact your production environment.
Field Mapping
Note that all data in HawkSearch is stored as a "field" this includes data such as product skus and names as well as attributes/facet information that helps with navigation in the search experience. If there are questions related to how to store your data in HawkSearch fields, please contact your Customer Success Manager.
Field Configuration Considerations
There are many configuration options available for each field. In some cases there are dozens or even hundreds of fields that are configured in HawkSearch. In many cases, not all fields needed to be "searchable" because they are used for information on the search results and are not necessarily required for searching. The HawkSearch Professional Services team provides services for search tuning which can help with performance or scale considerations.
Entitlements Considerations
Not all data stored in HawkSearch is accessible to all visitors searching on your site. There are often "entitlement" considerations which impact pricing or access based on the profile of the visitor on your site. There are two ways to handle these entitlements:
- Store the entitlement information in HawkSearch and incorporate the logic built into our SDKs (in most cases) or the logic of your development process to return the appropriate results
- Retrieve all results from HawkSearch and then filter the entitlements within your application before presenting the results on the site.
HawkSearch has worked with both scenarios successfully at scale. You can review these considerations with the HawkSearch Professional Services team when planning your project.
Implementation Process:
Data Management
These activities set the foundation of the implementation.
Development & Testing
Go Live & Support
Updated over 1 year ago