Welcome back and thank fir sticking with it...
Perhaps a simpler example which is what I’m want to implement todo in Wordpress: Have a Faceted Category Search of which the Primary Category would be say the different Content Types of my site (Custom Post Type or Custom Categories) (e.g. Blog, Services, Knowledge Base Resource.)
Each of these would have there own hierarchical sub-categories/attributes like a tree. But many of these attributes would be common to sub-categories/attributes across all or most a number of the other Primary Categories (e.g. The Topic 'Agile Change Management’) which may by both a ‘Service', and be associated with a ‘Blog', or a 'Knowledge Base Resource'). So it the User wanted to Search all (or sub-set) of my Primary Categories Content Type for any which had the topic category of 'Agile Change Management’ they could select , ‘ALL’ Or Pick a Subset, against this sub category/attribute. I see two solutions previously alluded to:
- They drill down from a Fixed Primary Category into each sub-category/attribute, common ones in ordered lists at the top, and have the option to specify 'Attribute Override', which overrides and previous exclusion criteria (need to signal this very clearly to the user) but includes any subsequent inclusion/exclusion input after the 'Attribute Override in both preceding lower down the tree attribute/sub-categories.
|When it comes to each Primary Category's UNIQUE sub-categories/attributes would only act as s filter on the Primary Category they apply to.
- They have the ability to customize the order of their search so that the user chooses the Primary Category, and potentially the order of all the sub-categories/attributes to drill down on. This is possible because most of the category attributes have a many-to-many relationship. e.g. Each Content Types can have many Topics and Each Topic can have many Content Types’. (BTW: Anyone know of any WordPress plug-ins that support many to many relationships between customer entities?).
As an expert on ‘search’ I was wondering if A) Can elastic search support this if I build the UI? B) If not whether you think it might be feasible to such a faceted search andwhat would be your recommend design approach. C) How much programming skill & effort would it take to implement on what is currently a small business/blogging site either the UI, the Faceted Search itself or both.
One final thing re order search results. I would have a keyword search in addition to the faceted search so my gut feel would be where AND & OR's being used the order of primacy might be:
Scenario A: Key word is supplied along with faceted category filter:**
- Display the selected categories/attributes as filters where ALL match then trust in Lucene to rank them correctly by keyword - hopefully she score higher on a Tag or Title meta match than purely content match.
- Display the selected categories/attributes as filters where is 80% an category match on ORs match then trust in Lucene to rank them correctly by keyword - hopefully she score higher on a Tag or Title meta match than purely content match.
- Display the selected categories/attributes as filters where is 80% an category match on ORs then trust in Lucene to rank them correctly by keyword - hopefully she scores higher on a Tag or Title meta match than purely content match.
etc... You needn’t do it in %20 chunks.
Scenario B: No Key word is supplied: pure faceted search.
Simply above minus keyword filtering: AND result set followed by OR's defending based on their match category count.
Anything with Equivalent Rankings within the AND or OR rankings: first apply popularity then rating. then number of hits, then recency. Or maybe a cunning algorithm to blend the four. I don’t think I’ve got locality specific data or data which could be tied back to the user profile.
Finally maybe along with a sticky item feature item displayed 'like an ad' which matches at least has some OR's.
What you think.. am I over complicating a simple from or have a under-estimated a fiendishly complex one!
Thanks in advance..