index
1
import { index } from 'instantsearch.js/es/widgets';
About this widget
This widget lets you apply widgets to a specific index. This is useful when you want to build an interface that targets multiple indices.
You can learn more about this pattern, called “Federated Search”, in the guides on multi-index search.
The position of index
in the widgets tree impacts which search parameters apply. Widgets that create search parameters forward them to their child index
widgets.
1
2
3
4
5
6
7
8
9
search.addWidgets([
searchBox(),
hits(),
index({ indexName: 'instant_search' }).addWidgets([
// The index inherits from the parent's `searchBox` search parameters
hits(),
]),
]);
The only exception to this rule is when two widgets own the same part of your UI state, like two searchBox
widgets or two refinementList
widgets on the same attribute. In that case, the latter takes precedence and overrides the search parameters.
1
2
3
4
5
6
7
8
9
10
search.addWidgets([
searchBox(),
hits(),
index({ indexName: 'instant_search' }).addWidgets([
// The index does not inherit from the parent's `searchBox` search parameters
searchBox(),
hits(),
]),
]);
The same rule applies when you nest multiple index
widgets.
Examples
1
2
3
4
index({ indexName: 'instant_search' }).addWidgets([
// Add widgets
// ...
]);
Options
Parameter | Description | ||
---|---|---|---|
indexName
|
type: string
Required
The index to search into. |
||
Copy
|
|||
indexId
|
type: string
default: value provided for indexName
Optional
An identifier for the |
||
Copy
|
Methods
Parameter | Description | ||
---|---|---|---|
addWidgets
|
Adds widget(s) to the index. |
||
Copy
|
|||
removeWidgets
|
Removes widget(s) from the |
||
Copy
|