herd icon indicating copy to clipboard operation
herd copied to clipboard

Search full-text across BDefs and Categories

Open nateiam opened this issue 7 years ago • 0 comments

As a Data Analyst I want to instantly view a list of BDef and Category results that match the text I enter

This story will search across both Category and BDef indexes based on text entered by user.

Acceptance Criteria

  • New Global Index Search endpoint exists that searches both Category and BDef indexes
  • Endpoint takes input of text string
    • If single word, return results that match given word
    • If multiple words, return results that match all words (individually, not the phrase -- but some flexibility if individual is much more difficult than phrase) Minimum string length is 3
  • Match is considered
    • Any word in any attribute of Category or BDef searchable data starts with the provided string
      • examples: Category description, BDef Description, BDef Column Description, Category Name, BDef Display or Physical Name, Column Display or Physical Name, BDef Attribute name or value, Namespace
    • Match will tokenize on '_', ' ', '-' and that second one is a space
  • Results will consist of
    • List that contains all Category and BDef results that match
    • Maximum result size is configurable with default of 200, truncate results
    • Return total hits as well for consumer/display purposes
    • Each entry in list includes Name, Short Description, Type (Category or BDef)
      • And Either
        • Keys for drill-down link (Tag Code, TagType Code for Category / Namespace, BDef Name for BDef)
        • URL for drill-down
    • Sort by weight according to Category Name, BDef Name, Category Desc, BDef Desc, Column Name, Column Desc, Namespace. If phrasing present, should rank highest.

Functional Note - future features include:

  • Faceting on Tag, Result Type, other attributes such as Namespace in case of BDef
  • Take parameter to indicate 'any' vs 'all' when dealing with multiple input words
  • Improved relevance, weighting
  • Match based on synonym and abbreviation
  • Hit highlighting and augment or replace short desc with highlighted field in results
  • Pagination

nateiam avatar Mar 14 '17 21:03 nateiam