Searching

Introduction

Points of Light supports the world's largest index of volunteering opportunities at All for Good.

Our goal is to provide a great search experience without a lot of effort.

Our Service

To jumpstart folks we provide an Algolia compatible search service.

This allows you to implement your search using a wide variety of open source tools depending on your needs.

Your Options

There are several options you can choose from - balancing ease of implementation against customizability.

Easy to implement and customize

InstantSearch Widgets are production-ready, type-as-you-search, front-end clients with the heavy lifting taken care of for you - and you can wade into deeper customization as you desire.

Check out a showcase of available widgets and imagine them filled with volunteering opportunities!

Vanilla JS | React | Vue | Angular | iOS | Android

Easier to implement but not very customizable

Extensions are minimal effort, drop-in solutions for your existing site - but the search experience is not very customizable.

Wordpress | Drupal | SiteCore | More..

Harder to implement but very customizable

API Clients require technical expertise - but are very customizable for advanced needs.

JavaScript | PHP | Ruby | Python | .NET | Java | Android | iOS | More...

An Example

Here's an example using the Vanilla JS InstantSearch searchBox Widget.

Add these script tags to your page:

<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/algoliasearchLite.js" integrity="sha256-pMaJf0I78weeXGkRMBDO6jSulxC/q3sb0aPdtV2N8n0=" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]" integrity="sha256-/8usMtTwZ01jujD7KAZctG0UMk2S2NDNirGFVBbBZCM=" crossorigin="anonymous"></script>

Add this div tag to your page:

<div id="search_box"></div>

Add this JavaScript to your page:

const applicationId = 'points_of_light_provided_application_id';
const publicApiKey  = 'points_of_light_provided_public_api_key';
const indexName     = 'points_of_light_provided_index_name';

const searchClient = algoliasearch(
  applicationId,
  publicApiKey
);

const search = instantsearch({
  indexName: indexName,
  searchClient
});

search.addWidget(
  instantsearch.widgets.searchBox({
    container: '#search_box',
  })
);

search.start();

🎊 Congrats!

You're now searching the world's largest index of volunteering opportunities!