LP#1997485: Multi-term Did You Mean
authorMike Rylander <mrylander@gmail.com>
Fri, 11 Nov 2022 19:39:24 +0000 (14:39 -0500)
committerGalen Charlton <gmc@equinoxOLI.org>
Thu, 27 Apr 2023 15:16:26 +0000 (15:16 +0000)
commit987acc017c941a2197150510d9c8d81dc27bd238
tree02954aa1d87ff2f164fb1bf2c516d30bdd29e81f
parent09b001a2dbc5dd8877b5f61d9f4ecb5a68d9403f
LP#1997485: Multi-term Did You Mean

Expanding on the previous single-class, single-term search suggestion
development, this feature provides suggestions for single-class searches
with multiple terms.

 * The Library Settings that were previously used to control the global
behavior of search suggestions have been moved to search class
configuration fields.  This was done because the data in each search
class benefits from different setting values.

 * If a patron's search brings back a suggestion that matches an authority
variant heading, the system will provide the main heading as a suggestion
as well, along with spelling-corrected suggestions.

 * Quoated phrases in user input require strict term order and adjacency
for the phrase portion of the suggestion generated for the phrase(s),
whereas unquoted input (or the portion that is not quoted) does not.

MARC Search/Facet Class (config.metabib_class) field additions:

 * variant_authority_suggestion   Whether this class should attempt variant authority suggestions based on search-class/browse-axis mapping
 * symspell_transfer_case         Whether suggestions should retain user-supplied letter case
 * symspell_skip_correct          Only supply suggestions to misspelled words
 * symspell_suggestion_verbosity  Setting that controls the amount of effort, and therefore time, spent on suggestion generation
 * max_phrase_edit_distance       Maximum average per-word edit distance when evaluating suggestions
 * suggestion_word_option_count   Maximum alternate suggestions per word
 * max_suggestions                Maximum suggstions to present
 * low_result_threshold           Maximum hit count beyond which suggestions are not provided
 * min_suggestion_use_threshold   Minimum number of times a suggestion must exist in the corpus
 * pg_trgm_weight                 Weight of the trigram similarity metric; 0 avoids calculation costs
 * soundex_weight                 Weight of the soundex similarity metric; 0 avoids calculation costs
 * keyboard_distance_weight       Weight of the keyboard distance similarity metric; 0 avoids calculation costs

Signed-off-by: Mike Rylander <mrylander@gmail.com>
Signed-off-by: Ruth Frasur <rfrasur@library.in.gov>
Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
Open-ILS/examples/fm_IDL.xml
Open-ILS/src/eg2/src/app/staff/catalog/search-form.component.html
Open-ILS/src/perlmods/lib/OpenILS/Application/Search/Biblio.pm
Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Driver/Pg/QueryParser.pm
Open-ILS/src/sql/Pg/upgrade/XXXX.schema.DYM-multi-word.sql [new file with mode: 0644]
Open-ILS/src/templates-bootstrap/opac/parts/result/lowhits.tt2
Open-ILS/src/templates-bootstrap/opac/parts/searchbar.tt2
Open-ILS/src/templates/kpac/parts/searchbox.tt2
Open-ILS/src/templates/opac/parts/result/lowhits.tt2
Open-ILS/src/templates/opac/parts/searchbar.tt2