Global Search Feature Overview
The purpose of global search feature is to provide users the ability to search solution contents, such as tutorials, blogs, installation guides etc.. This new feature is available across all main information pages on website version 1.6+. Users can search for contents in any versions of website by selecting the target search version.
Here is a list of added/modified files:
M docs/static_site/src/_includes/header.html - added Search UI with version dropdown for both wide and narrow screen
M docs/static_site/src/assets/main.scss - import globalSearch.scss
M docs/static_site/src/_sass/minima/_layout.scss - add adaptive css styles based on media query
- M docs/static_site/src/_config_prod.yml - add an array to generate the search bar version dropdown
- M docs/static_site/src/_config.yml - add an array to generate the search bar version dropdown
- M docs/static_site/src/_config_beta.yml - add an array to generate the search bar version dropdown
Add docs/static_site/src/assets/img/search-icon.svg - the search icon
Add docs/static_site/src/assets/js/globalSearch.js - connect <input> to DocSearch, add listener, UI animation
Add docs/static_site/src/_sass/globalSearch.scss - all UI related styles, including search bar and result panel
The global search UI is styled appropriately for both wide and narrow screens across all popular browsers. On a wider screen the UI is displayed as an icon at the rightmost top navigation bar. And when triggered by clicking on the icon, the navigation bar will disappear and the search bar expends to its full length. On a narrow screen, the search UI is inside the dropdown navigation bar. The search result will update as you type, and keyboard navigation is also enabled.
Apart from adding search UI to front end, we also need to maintain a config file in DocSearch-config GitHub repo. This is the configuration file DocSearch use on its web crawler to extract data from MXNet website which has direct impact on the quality of search result. Here is the link to MXNet website config from DocSearch. To update this config, submit a PR to this repo listed below with information about the change and your identity. DocSearch team will review the PR and then deploy the change. Please note that DocSearch team will not verify the config change, so testing your config locally is recommended before submitting the PR. To test your config, you need to create an Algolia account and run the web crawler locally or on an EC2 instance. Configure your local web crawler to send data to your account by applying your Algolia API key, for detailed process please follow this link: run your own web crawler. It normally takes one day for the changes to reflect on the search result, because DocSearch team run the web crawler every 24 hours. For detailed rules about the best practice of the configuration, please see custom JSON configuration file.
DocSearch grants us limited access to Algolia analytics dashboard for MXNet website, there are statistics about the search feature, including 'popular search', 'number of users' and 'no result rate' etc. If you need access to this dashboard, please reach out to firstname.lastname@example.org.
Global search on v1.6 website