Schema and guidelines for creating a staticSearch engine for your HTML5 site
Martin Holmes
Joey Takeda
2019-2024
This documentation provides instructions on how to use the Project Endings staticSearch
Generator to provide a fully-functional search ‘engine’ to your website without any
dependency on server-side code such as a database.
The Generator supports the following search facets or filters:
Descriptors. You might for example classify your documents as poems, short stories and novels;
the user can then choose to search in only poems, or poems and short stories.
Date ranges. You might assign each document a date (or a date range) for its first publication
and another for its last publication; then users could search for documents first
published in a certain date range and last published before another date.
Number ranges. Similar to date ranges, you can assign a number to each document and then filter
the search on a subrange of those numbers. For example, a collection of poems might
be filtered on the number of stanzas, so users could find all two-stanza poems or
all poems with three or more stanzas.
Booleans (true/false values). You might for instance specify that some poems are illustrated
while others are not. The user could then limit their search only to illustrated poems.
Features. Features are similar to Descriptors, but are intended for cases where there are
so many possibly items that having a long list of checkboxes on the page is not practical,
so instead, a typeahead control is provided, allowing the user to type some characters
and get a list of matching items. A good use-case might be ‘People mentioned’ in a
document collection. There might be thousands of people mentioned, and any given document
might mention twenty of them. The searcher can type a few letters of a person's name
to see a list of suggestions, and then add checkboxes for any matching people; those
checkboxes will then function like Descriptor checkboxes.