Skip to content

Feature: Full text search for our listings #2117

Open
@fancyham

Description

@fancyham

This would involve some dev search work, then some UI work to create the filter UI

Impact 4/5 (where 5 is very impactful) - this would help greatly for people looking for specific terms like 'senior' or 'veteran' or "First Lutheran Church of Inglewood" or "kosher"

How is it now?

Currently, there is no way to search for a term in our database, other than with simple tag filters (pantry, meal), location, and hours.

There's no way to search for an organization name, nor what services it provides.

Also, much of our content is in free-form text descriptions ("We provide services only to seniors, veterans"), and not explicitly tagged ('baby diapers available'), so while searching for tags is nice, there is still a huge gap.

Proposed new feature

Allow the user to search for text in the organization's listing's text fields

  • Org name
  • Address
  • Phone number
  • Requirements
  • Email
  • Notes
  • Services
  • Items available
  • etc.

Discussion

MVP is an "AND" search — all words entered must be present (non-case-specific).

Stretch: It would be amazing if we could also support some level boolean searches and quotes:

Most important, in my mind:

  1. Quotes (for exact text (but not case-specific)), Exclude (i.e. -cheese)
  2. OR (i.e. Parenthesis and commas between items)

We could use the Google search operators, since Google is so popular: i.e. "diapers" -cheese (kosher, -pork)
https://southern.libguides.com/google/boolean

alternatively, or as MVP, a structured search that brea is out each field could also work.

Designs:

MVP option: Text filter UI if we do full-text search (easy)
image

MVP option

  • entering words into the text search will search ALL fields for that word, and filter results to only listings containing that word. E.g. entering “army” will show “salvation army” locations as well as locations on “army street” that meet all other filter criteria.

(Stretch option) if we can do Google-style Boolean search, please do that. E.g. “army -salvation” would filter to all locations that mention “army” but omit “Salvation” Army locations.

Another option, if the above is too hard: Filter if we do structured search (harder because data is not tagged like this, but possibly more useful and specific):

(same as above but at bottom… this instead of that single text field)

Name: (Boolean text search)
Address: (Boolean text search)
Phone number: (Boolean text search)
Eligibility: (Boolean text search)

Languages:
(Full checklist of tags used in this field for this region)

Notes: (Boolean text search)
Covid Notes: (Boolean text search)
Services:
(Full checklist of tags used in this field for this region)

Items available:
(Full checklist of tags used in this field for this region)

Something kind of like this but see above for full details:
image

displaying search results:
MVP: show matching results and put at top of search results "Searching for ‘X’" (where X is the search term the user entered, such as “Searching for ‘army -salvation’”)

If possible (this is probably very hard): highlight or bold matching text in the search results, including surfacing the matching text snippet to the top level search results when necessary.

See Google for an example. This would make it even more user-friendly.
image

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    In Progress

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions