Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Faceted Search #42

Closed
agritheory opened this issue Nov 13, 2023 · 1 comment · Fixed by #44
Closed

Faceted Search #42

agritheory opened this issue Nov 13, 2023 · 1 comment · Fixed by #44
Assignees
Labels
enhancement New feature or request

Comments

@agritheory
Copy link
Owner

agritheory commented Nov 13, 2023

Item Attributes are limited to the Item doctype and the context of the Master/ Variant pattern. We want to be able to freely associate attributes to any doctype and have those be configurable and discoverable inside the context of a faceted search interface.

This issue will serve to collect the reference architecture for this feature.

UI Notes

McMaster's search UI is specific to route (analogous to Item Group in the ERPNext context). From a layout perspective, that they're able to keep all the filter info in ~15% of the screen docked to the left seems great.

image

Amazon takes a horizontal approach, which means you cannot view filters and results at the same time

image

DigiKey takes a similar approach as Amazon with worse results

image

Ace Hardware uses a more "consumer-friendly " version of the McMaster UI, as does Lowes.

image

Lowes:
image

Home Depot Manages to incorporate the worst of both approaches. These are filters:
image

And their tall product card / 4 row means that you can only browse four items at a time
image

Data Structure

Faceted Search will be able to allow filtering on attributes at various levels and normalization. For example, UOM => Metric/ SAE, Brand, price or dimensions within a range, etc. Configuration may be applied from a linked document to another via the "Apply On" field, so that an Item Group can define (and require) the attributes within that Item Group. These attributes will be periodically compiled into a Redis searchable data structure but unlike ERPNext's default implementation, it will be available in both List View and portal (/all-products).

  • Specification (DocType) - a rule and configuration set for the DocType that will require specification. These should be configurable for subsets of the DocType in question and also inject a basic mandatory validation
  • Specification Attribute - a child table of Specification that maps doctype:field to the appropriate value
  • Specification Value - a simple join table like Dynamic Link. It will validate with the rules defined by the Specification doctype
@agritheory
Copy link
Owner Author

  • Facets with the same name should be aggregated regardless of the Specification they are associated with
  • Needs to integrate with Inventory Tools Settings. Should, which should be selectable for selected list views, plus "All Products" and "Shop by Category" in Ecommerce view
  • Implement capabilities to search on attributes of linked items
  • Leverage existing Redis search and caching of facet/attribute lookups
  • Only show Facets as they apply to Item Group in Shop by Category

@agritheory agritheory linked a pull request Apr 15, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants