Back in 2016, with the announcement that Google Search Appliance was being discontinued, many government entities and universities started looking around for replacement options. At Palantir, we wanted to provide an open source option that could solve the following needs:
- A simple way to store, retrieve, and parse content
- A cross-platform search application
- A speedy, usable, responsive front-end
- A flexible, extensible, reusable model
What we built is called Federated Search. With Drupal, Solr, and React working together, Federated Search is able to index data from completely arbitrary sources, standardize it, and then output it in an easily consumable way. This approach means more flexibility for site administrators and a cleaner experience for users.
Using Federated Search, Palantir collaborated with DSGa and their development partners to re-launch network-wide search with added functionality in both Drupal 8 and Drupal 7 without any service interruption for site visitors. The scope of this project affected five separate technology organizations in addition to the more than 80 internal clients supported by the Drupal platform:
- Acquia, the hosting and search provider
- Digital Services of Georgia, the internal product and support team
- Lullabot, the architects and implementers of the Drupal 8 platform
- Mediacurrent, the support vendor for existing Drupal 7 sites
- Palantir.net, the creators of Federated Search and the search architects and implementation partners for Georgia.gov
Implementation required a clear communication of existing functionality, division of technical responsibilities, and coordination of testing and release schedules across both Drupal platforms. It also meant adapting the current search experience to new features available in Federated Search (most notably the built-in filtering capacity), and integrating the current predictive search feature into the Federated Search product.
Our approach was to adapt to the existing project tools used by both Lullabot and Mediacurrent, and to use scrums to keep everyone informed of progress and blockers. We also had to consult with the Acquia Search team to ensure that the required configuration (which uses private key files to point each site to a single Solr index) was compatible with the architecture of Acquia Cloud.