InstantSearch.js is a library for building blazing fast search-as-you-type search UIs with Algolia.
InstantSearch.js is a vanilla JavaScript library that lets you create an instant-search result experience using Algolia’s search API. It is part of the InstantSearch family:
InstantSearch.js | React InstantSearch | Vue InstantSearch | Angular InstantSearch | React InstantSearch Native | InstantSearch Android | InstantSearch iOS
Table of contents
You should be using InstantSearch if you want to:
- Design search experiences with best practices
- Customize your components at will
- Remain independent from external frameworks
Using InstantSearch.js is as simple as adding this JavaScript code to your page:
// 1. Instantiate the search
const search = instantsearch({
appId: 'latency',
apiKey: '6be0576ff61c053d5f9a3225e2a90f76',
indexName: 'instant_search',
});
// 2. Create an interactive search box
search.addWidget(
instantsearch.widgets.searchBox({
container: document.querySelector('#searchBox'),
placeholder: 'Search for products',
})
);
// 3. Plug the search results into the product container
search.addWidget(
instantsearch.widgets.hits({
container: document.querySelector('#products'),
templates: {
item: '{{{_highlightResult.name.value}}}',
},
})
);
// 4. Make the brands refinable
search.addWidget(
instantsearch.widgets.refinementList({
container: document.querySelector('#brand'),
attributeName: 'brand',
})
);
// 5. Start the search!
search.start();
To learn more about the library, follow the getting started guide or check how to add it to your own project.
The documentation is available at community.algolia.com/instantsearch.js.
E-commerce | Media | Travel |
---|---|---|
See more examples on the website.
You can get to know InstantSearch.js on this playground.
Start by adding widgets and tweaking the display. Once you feel familiar with the library, we recommend following the getting started guide.
We support the last two versions of major browsers (Chrome, Edge, Firefox, Safari).
To support IE11, we recommend loading polyfill.io with the following URL https://cdn.polyfill.io/v2/polyfill.min.js?features=default,Array.prototype.includes
We welcome all contributors, from casual to regular 💙
- Bug report. Is something not working as expected? Send a bug report.
- Feature request. Would you like to add something to the library? Send a feature request.
- Documentation. Did you find a typo in the doc? Click on the
edit this page
button. - Development. If you don't know where to start, you can check the open issues that are tagged easy, the bugs or chores.
To start contributing to code, you need to:
- Fork the project
- Clone the repository
- Install the dependencies:
yarn
- Run the development mode:
yarn run dev
- Open dev-novel
Please read our contribution process to learn more.
Join the InstantSearch squad and help us build tools that will empower thousands of other developers.
Open positions:
- Open Source Software Engineer (Paris)
- Engineering Manager (Paris)
InstantSearch.js is MIT licensed.