1

I need to design a faceted search against a number of products. The content is tagged up with metadata using Categories and Keywords. Normally I'd use something like Elasticsearch or SOLR to deal with the faceting based on this metadata but in this case it's not an option that's available to me.

Speaking to various people, I'm hearing a general theme that the API is sub-optimal for doing this sort of work and you'd have to construct the facets yourself from the taxonomy using many API calls. I appreciate the genericity of this question but has anyone successfully implemented this? What are the pitfalls?

  • 6
    Other than some water cooler talk, it doesn't look like you've done any research. Why not look at the API documentation and do a basic proof of concept to try and answer your question? – Nickoli Roussakov Nov 11 '13 at 14:34
  • 3
    Could you reword/rephrase your question, making it practical and answerable? Chatty, open-ended questions diminish the usefulness of this site and I think your current question is too generic for anyone to even try to post an answer too. – Bart Koopman Nov 11 '13 at 14:50
  • 3
    @Nickoli - I'm doing my best to research, in the limited time I have available, because information about Tridion best practice is so appallingly vague - I might as well just blindfold myself and throw darts at the dartboard and hope one lands in the answer. – mpaton Nov 11 '13 at 16:48
  • 6
    Implementing Content Delivery: sdllivecontent.sdl.com/LiveContent/content/en-US/… – Nickoli Roussakov Nov 11 '13 at 19:51
  • 3
    I'm upvoting the question because Tridion Taxonomy examples are hard, but not impossible, to find. There are examples and suggestions in the docs, in training, and now in the answers below. I'm also flagging the amusing and rather colorful comment on Tridion best practices. Maybe you didn't like @Nick's response, but no need criticize a community and its individuals for trying to help where we can based on what we know with the limited time that we have. – Alvin Reyes Nov 11 '13 at 23:31
14

Even though this question seems to be based a lot on "hearsay", I'll give you my best shot.

Can Tridion Categories and Keywords be used to build a taxonomy-driven website? Absolutely YES.

I know of two things you need to pay attention to:

  • Dimensions on your taxonomy
  • Cache

Dimensions

A taxonomy can have many types of relationships defined. You can have the basic "tree-like" hierarchy, you have the "related keywords" concepts, and you have potentially additional keyword fields in keyword metadata. When a category is published Tridion will try to create an OWL representation of this. I've heard of one case where about 40,000 keywords were expanded to nearly one million representations in OWL. Publishing this category could take up to 12 hours (!) mostly on the deployer side. Clearly a situation to try avoiding. So, manage your dimensions.

Cache

Tridion will do its best to load the taxonomy only once and keep it in memory as much as possible, as long as cache is enabled. Do NOT even try to do this without cache enabled. Yeah, I hear you saying "of course", but you'd be surprised how many Tridion sites run without cache (it's great for consulting though, you can fix a seemingly complex performance issue within 2 hours).

There's quite a few sites out there using taxonomy, and its performance improved significantly in 2011 SP1 and later.

It has to be clear that Tridion Taxonomies are not meant to replace real taxonomy-management tools that sell by prices that dwarf Tridion license costs. For those, you have specialized Product Information Management tools that can deal with Million+ records and associations and still deliver results in the low millisecond range (tools like SDL's Fredhopper).

|improve this answer|||||
  • 5
    We could mention the March 2012 Community Webinar by Chris Summers as an example of a Taxonomy-driven websites with SDL Tridion. The magazine-type setup includes Categories for navigation, issue, author, faculty and "content classification." Chris describes some good wins for authors as well as challenges with the API (e.g. getting a keyword's child) in the slide deck. – Alvin Reyes Nov 11 '13 at 23:02
8

I actually think in this scenario the answer is 'Build a POC', here's why:

  • There's many ways to skin a cat with the CD api
  • You've already got your content tagged with categories and keywords
  • Publish it, then I reckon about 2 hours to knock together some code to build the POC
  • You've then the ability to play with the cache and check performance

When we've clients struggling with time and budgets, and the tasks is SDL Tridion related and something we don't know the details of, we get together out of hours to work on it.. client's will value your knowledge and commitment to stay on top of the product and your bosses (i hope) will admire your work ethic, sharing back with the community will also gain you even more love :)

|improve this answer|||||
  • 1
    +1 for bosses that care about best practices and engage their technical communities. – Alvin Reyes Nov 12 '13 at 16:40
7

A classic discussion of this problem can be found at the Wiki

The pertinent quotation is this: "Architects don't have to code, as long as they have ways to get concrete feedback on their ideas."

I'd suggest that if speaking to people and extracting general themes isn't getting you concrete feedback on whether there is a Tridion API suited to the task you have in mind, your approach should be as follows:

  1. Write some code to test your ideas.
  2. If necessary, ask questions here to assist with point 1, and maybe to take the thinking further.

tridion.stackexchange.com is probably not a great forum for making your issue concrete. That part you need to do yourself. I know you acknowledged the generalness of your question, but without you first fleshing out the bones of what you want to achieve and how you have tried and failed, the question defies answering.

|improve this answer|||||
0

I've come to the conclusion after some research that the API is next to useless for building high performance, scalable faceted search and will burn hours and hours of time

  • re-inventing a wheel
  • getting performance up to scratch.

I have done a small POC of the front end and there's no doubt ES is a much better idea so need to convince the customer to do this.

I am intending to use the SI4T baseline and then modify for ES - however, I do have one further question - is the way SI4T is implemented a 'best practice'? there is some debate on Deployer extensions versus Storage extensions although I'm not sure this applies for 2011 SP1?

|improve this answer|||||
  • i'd recommend putting your storage extension q as a new question on here. i know some pretty big customers using taxonomy/facet search with no problems, perhaps you could expand on your issues here, i'm sure you'd get some helpful suggestions. – johnwinter Nov 13 '13 at 12:09
  • I'd be interested in knowing the details and qualifications from the POC. Did it fail on a 40,000 keyword scenario or right away with a dozen? Did you cache in the application? When might you actually choose the Taxonomy API over ES (enterprise search?)? – Alvin Reyes Nov 13 '13 at 12:24
  • I don't think I'd choose the taxonomy API as a first choice for any application to be honest - you could publish the entire thing to ES and then just query that for the entire application. With ES, I don't really need to worry about caching, and the data is real time and as lightweight as I need it to be. The only thing I need to worry about is the connection between it and Tridion - hence the question about the Deployer extension. – mpaton Nov 13 '13 at 13:37
  • 3
    Having a SI4T indexer implementation for ElasticSearch would be a great addition to the project and community - I look forward to seeing something on this! Storage extension is definately the best practice approach for this kind of integration (I assume you are also publishing the content to filesystem database in the 'normal' way - otherwise you will lose out on lot of other current and future functionality), see also this question and answers: tridion.stackexchange.com/questions/2062/… – Will Price Nov 13 '13 at 13:48
  • Thanks Will for the useful comment - I have read your linked post already with interest, many thanks! – mpaton Nov 13 '13 at 13:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.