herd
herd copied to clipboard
Exclude BDefs with specific Tags from BDef Index Search
As a Data Analyst I want to exclude any BDef with a specific Tag from my BDef search so I can eliminate noise in my search that is making it difficult to find BDefs I am interested in.
Example The following Tags exist: Vehicle Category = Sedan Vehicle Category = Sports Vehicle Category = Luxury Vehicle Manufacturer = BMW
And the following BDef are tagged: DE1 = BMW, Sedan, Sports DE2 = BMW, Sedan DE3 = BMW, Luxury, Sports DE4 = BMW, Luxury DE5 = BMW, Sedan, Sports DE6 = BMW, Sedan, Sports
A user performs following:
- BDef Search for Vehicle Manufacturer = BMW returns: DE1, DE2, DE3, DE4, DE5, DE6
- This search is too noisy, they only want Sedans so they use the current 'Refine By'
- BDef Search for Vehicle Manufacturer = BMW, Vehicle Category = Sedan returns: DE1, DE2, DE5, DE6
- But that is still too noisy, they don't want the Sports cars in the results. At this point, 'Refine By' no longer helps them. Adding Vehicle Category = Sports to 'Refine By' does not eliminate the desired results. This story will introduce exclusions such that:
- BDef Search for Vehicle Manufacturer = BMW, Vehicle Category = Sedan but not Vehicle Category = Sports returns DE2
Acceptance Criteria
- User can specify Tag(s) to be excluded from BDef Search
- Exclusion applies as AND NOT condition to the existing criteria provided
- If multiple Tags are supplied, any Data Entity with either Tag is excluded
- Search results do not include any Data Entities tagged with the Tag(s) specified for exclusion
Example request showing exclusion filter
<businessObjectDefinitionIndexSearchRequest>
<businessObjectDefinitionSearchFilters>
<businessObjectDefinitionSearchFilter>
<businessObjectDefinitionSearchKeys>
<businessObjectDefinitionSearchKey>
<tagKey>
<tagTypeCode>VEH_CAT</tagTypeCode>
<tagCode>SEDAN</tagCode>
</tagKey>
</businessObjectDefinitionSearchKey>
<businessObjectDefinitionSearchKey>
<tagKey>
<tagTypeCode>VEH_MANUF</tagTypeCode>
<tagCode>BMW</tagCode>
</tagKey>
</businessObjectDefinitionSearchKey>
</businessObjectDefinitionSearchKeys>
</businessObjectDefinitionSearchFilter>
<businessObjectDefinitionSearchExcludeFilter>
<businessObjectDefinitionSearchKeys>
<businessObjectDefinitionSearchKey>
<tagKey>
<tagTypeCode>VEH_CAT</tagTypeCode>
<tagCode>SPORTS</tagCode>
</tagKey>
</businessObjectDefinitionSearchKey>
</businessObjectDefinitionSearchKeys>
</businessObjectDefinitionSearchExcludeFilter>
</businessObjectDefinitionSearchFilters>
<facetFields>
<facetField>Tag</facetField>
</facetFields>
</businessObjectDefinitionIndexSearchRequest>