Searchzilla is a simple, easy way of implementing search on the client-side. You don't really have to read the description either, just start using it.
Simply download the files from the dist
folder or install the npm version by doing npm install searchzilla
or yarn add searchzilla
.
It's just a few lines of code and you can get your search up and running straightforward.
- To initialize the search instance:
// Initialize the class
// You can pass your own data from fetch() requests as well.
const mySearch = new Search({data: [{id: 1, name: "Chuck norris", "description": "nobody knows me"}, {id: 2, name: "Billy Murphy", description: "people know me"}, {id: 3, name: "Audey Coda", description: "i dont wanna be known you stranger"}]);
// Call the init() method to initialize search
mySearch.init();
You can similarly add fields to look up through the .add()
method.
// Looks up for only the specified fields.
mySearch.add('name', 'description');
Now simply search using the search()
method like this.
// returns [{id: 3, name: "Audey Coda", description: "i dont wanna be known you stranger"}]
mySearch.search('Audey');
You can black list search results using exclude: ['some', 'words']
in your search object like this:
new Search({data: someData, exclude: ['more', 'words']})
This will exclude all those results containing specific keywords that are mentioned in the exclude
array.
A better use-case would be to filter stopwords or profane words.
- [ ] Add key filtering for objects and lists.
- [ ] Optimizations in the current loop, hashtables?