Skip to content

Utility to turn a text file of strings into an autocomplete API powered by the OpenWhisk serverless platform

License

Notifications You must be signed in to change notification settings

ibm-watson-data-lab/serverless-autocomplete

Repository files navigation

serverless-autocomplete

Build Status npm version

This npm package is a command-line utility to help create autocomplete microservices from text files. It creates the microservice with your data embedded and returns you the URL of the service which you can use in your web forms.

Node.js is required to install the acsetup utility and an IBM OpenWhisk account to create the serverless microservices.

Installation

Ensure you have Node.js and npm installed. Then run:

npm install -g serverless-autocomplete

(sudo may also be required before this command in some cases).

Make sure you have downloaded the OpenWhisk command-line utility ibmcloud fn and have authenticated it with your IBM Cloud credentials.

Creating autocomplete services

You can now create as many autocomplete microservices as you need. Take text file containing the strings you wish to be used. The files should contain one string per line e.g.

George Washington
John Adams
Thomas Jefferson
James Madison
James Monroe

To create an autocomplete index, simple run acsetup with the path to the text file of strings:

> acsetup uspresidents.txt

It will return you:

  • the URL of your autocomplete service
  • an example curl statement
  • an HTML snippet that shows your service embedded into a web page

If you don't have data to hand then we've got you covered.

acsetup countries.txt
acsetup names.txt
acsetup uktowns.txt

Working with the API

Your service URL will look something like this:

https://openwhisk.ng.bluemix.net/api/v1/web/USER/autocomplete/INDEX

where USER is your Bluemix username + space e.g. [email protected]_dev and INDEX is the name of your index e.g. uspresidents.

To perform an autocomplete operation, the API call requires a term parameter containing the string to be completed:

https://openwhisk.ng.bluemix.net/api/v1/web/USER/autocomplete/INDEX?term=Ge

It outputs a JSON array e.g.

["George H. W. Bush","George W. Bush","George Washington","Gerald Ford"]

If no matches are found, an empty array is returned:

[]

The API is compatible with the jQuery Autocomplete API but can be plumbed into any front-end code.

About

Utility to turn a text file of strings into an autocomplete API powered by the OpenWhisk serverless platform

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published