herd
herd copied to clipboard
Search full-text across BDefs and Categories
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
- Any word in any attribute of Category or BDef searchable data starts with the provided string
- 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
- And Either
- 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