Dropdown Behavior
Our JavaScript library DocSearch.js is a wrapper of the Algolia autocomplete.js library. This library listens to every keystrokes typed in the search input, queries Algolia, and displays the results in a dropdown. Everything is already configured for you to work with DocSearch. Our UI library also exposes configuration options you can use to go even further. You will discover Algolia out of the box for documentation. Let's start the learn as you type experience.
appId
#
Only required if you're running the DocSearch crawler on your own. It
defines your own application ID using the appId
key. If you're using the free
hosted version, you don't need to consider this parameter.
handleSelected
#
This method is called when a suggestion is selected (either from a click or a
keystroke). By default, DocSearch displays anchor links to the results page. You
can override results (also called hits) to add your own behavior. Note that you
can already open a new tab thanks to the CMD/CTRL + Click
action.
The method is called with the following arguments:
input
: a reference to the searchinput
element. It comes with the.open()
,.close()
,.getVal()
and.setVal()
methods.event
: the actual event triggering the selection.suggestion
: the object representing the current selection. It contains a.url
key representing the destination.datasetNumber
: this should always be equal to1
as DocSearch is searching into one dataset at a time. You can ignore this attribute.context
: additional information about the selection. Contains a.selectionMethod
key that can be eitherclick
,enterKey
,tabKey
orblur
, depending how the suggestion was selected.
You can try it live on CodeSandbox.
queryHook
#
This method is called on every keystroke to transform the typed keywords before querying Algolia. By default, it does not do anything, but we provide this hook for you to add your own logic if needed.
transformData
#
This method will be called on every hits before displaying them. It doesn't do anything by default, but we provide this hook for you to add your own logic and pre-process the hits returned by Algolia.
autocompleteOptions
#
You can pass any options to the underlying
Autocomplete.js library by using
the autocompleteOptions
parameter. You will find the list of all available
values in the official documentation.
You can also listen to autocomplete
events through the .autocomplete
property of the docsearch
instance.
algoliaOptions
#
You can forward search parameters to the Algolia API by using the
algoliaOptions
key. You will find all Algolia API options in their own
documentation.
For example, you might want to increase the number of results displayed in the
dropdown. hitsPerPage
set the number of shown hits.