fecgov / fec-cms

The content management system (CMS) for the new Federal Election Commission website.
https://www.fec.gov
Other
93 stars 38 forks source link

Implement and test site-wide search prototype #837

Closed noahmanger closed 7 years ago

noahmanger commented 7 years ago

This is an exploratory issue to help us better understand the user needs (and potential ways to address them) around a site-wide search. To do this, we will use a combination of combing through external resources and doing lightweight prototyping using the out-of-the-box DigitalGov search tools.

Questions to consider

Completion criteria

onezerojeremy commented 7 years ago

for reference, here's the search analysis we did when we were spinning up the legal research: https://docs.google.com/document/d/1CBxO99tKjg2w2D4dMIxx_1KYEnbptK3VGqi8rJsDbt8/edit#heading=h.eezo9x7qpz6w

patphongs commented 7 years ago

Here's notes from our UX mind-meld:

Questions to answer:

patphongs commented 7 years ago

Here's an issue on exploring and prototyping the digitalgov search option: #850

noahmanger commented 7 years ago

Moving this issue to next sprint.

noahmanger commented 7 years ago

I spent some time today looking into various technical approaches and have some findings:

DigitalGov search

First, the DigitalGov search API doesn't exactly come for free. The only way to use it is to either 1) use their i14y indexing or 2) purchase a Bing key (Google's Site Search is the other option, but apparently it's being discontinued).

The Bing search key costs several thousand dollars and the i14y API requires a process of manually pushing content updates to their API to tell it to index pages. While they have plugins for Wordpress and Drupal, we'd have to roll our own methods. This is an option, but it's more involved.

If we're not using their search results API, it means using the default search results display. This could be ok, but we're running into issues with the fact that the default indexes of candidate, committee, and legal resource pages are incomplete.

I was hoping we'd be able to address that by using our API directly, but that isn't possible if we're using the DigitalGov search page.

The other way to address that, however, is to do something that we should do anyway, which is to improve the search indexing of all the pages.

Wagtail search

The other option that I spent a few minutes looking into is to take advantage of Wagtail's built-in search, which you can set up to use ElasticSearch. The benefits here is we'd be able to customize the results page to also pull in results from the API. The major downside is that we're effectively rolling our own site search which is very tough to do well. But hey, it's an option.

onezerojeremy commented 7 years ago

Another update on this: Had a discussion on this at design pairing. list of things that happened:

There may have been some other takeaways and actions, please add what I missed!

Mock-up: federated type-ahead showing search for "ele" returning results across multiple content types federated auto-complete - suggest

Mock-up: federated type-ahead showing search for "electronic" returning results across different content categories federated auto-complete - suggest-2

Faceted search showing one option on top level facets or categories that align with content sections search - all things

Faceted search showing how sub-facets might appear for main facets search - sub cats

Faceted search showing a different option for facets that align with things most commonly searched search top things

noahmanger commented 7 years ago

After tinkering with the DigitalGov settings and experimenting with the typeahead, Jeremy and I chatted and we think we can make this work for our needs.

We'll discuss in sprint planning what we want our next steps to be, and all agree on if we actually want to pull the trigger and do this. In the event that we do, I went ahead and made fresh issues for the next design steps on this front in:

There's one last piece which is to make some changes on our end (and then using the Bing webmaster tools) to improve search indexing of candidate and committee pages, but still working through the details there.