Issues

Seek and Ye Shall Find

For those of you who have been keeping up with recent changes to Umbraco training courses and certifications you may have noticed on the Umbraco.com training page that there is now an option to book a place on the 'Search' course.

But before we discuss the big reveal, let’s go back in time…

A History of Search

I started working with Umbraco in 2005, version 2.13. My first site which was for Integrated Nuclear fuels (no longer live however you never forget your first time!) required search functionality. I had some previous search experience with Microsoft Index server, Ultraseek, Verity and Texis Webinator and I looked at all of these as potential solutions for website search.  

However Microsoft Index server was to simplistic in its implementation and it was controlled through IIS so you needed a server setup. Verity and Ultraseek were eye wateringly expensive ($100k+) and Texis webinator was a crawler and at the time a hosted solution also it used Vortex script which looked a bit like ColdFusion...yuck!

So initially I went with the excellent XSLT Search written by Doug Robar.  It was easy to use, free and it ‘just’ worked.

My next site which was quite big also needed search and I came across the umbracoUtilities project. This project contained a lucene.net integration with Umbraco and I started to use it on every subsequent Umbraco site I built that required search functionality.  

The implementation of search in umbracoUtilities only indexed umbraco content not media.  My next big project had a requirement for PDF indexing. Luckily for me the search element in umbracoUtitlies was extracted out into its own project entitled umbSearch and Media indexing was added and I moved from umbracoUtilities to umbSearch.

As part of my ongoing implementations with umbSearch and Lucene.net, I purchased ‘Lucene.net in Action 1st edition’ to gain a better understanding of how it all worked. This is still one of my all time favourite IT text books and it sparked in me a real interest in the science of Information retrieval.  Almost everything I know about search I picked up from this one book. I started to implement things I found in the chapter ‘Essential Lucene extensions,’ e.g Highlighting, Spell Checking, Wordnet and I presented these extensions during open sessions at Codegarden 2008.

While working with umbSearch some of the more notable issues were usability and performance, particularly with large websites during indexing. Umbraco was in need of a good search solution. Step up Shannon Deminick.

Shannon Deminick needs no introduction, as one of the core Umbraco developers at HQ. However in 2009, he worked for the Farm and it was here he developed Examine (our very own Anthony Dang also used to work at the Farm at the same time, he claims Examine was his idea, this may or may not be true ;-}).

Examine is an abstraction around Lucene.net and UmbracoExamine is a specialised Examine provider that is specifically for Umbraco content. UmbracoExamine makes it easy to index and search Umbraco content. Examine frees you from working with the Lucene.net api directly, although if you really want you can still access it.

I have been using Examine since day one and after a few projects became quite an expert, if I do say so myself ;-). Over time I started to see more and more people having similar problems with it on our.umbraco.com. It wasn’t a problem with Examine per se it was more the lack of understanding of how it works and more importantly how Lucene.net works or as Shannon put it ‘Examineness.’

Talks and Bootcamps

Answering the same questions again and again gave me an idea, Why don't I hold a talk on Examine at the Umbraco UK Festival? So, in 2012 that's what I did, presenting a talk entitled Examiness hints and tips from the trenches. I followed up this talk with a series of blog posts detailing key tips from my original talk. Both the talk and blog posts went down really well and I received a lot of positive feedback.  

Over the years as well as helping out on our.umbraco.com I have helped people out via Skype, Twitter and Slack.

Screenshot of a Slack convo helping with code

Screenshot of a Slack convo helping with code

During these help sessions a number of people commented; ‘we really need a course on all this stuff.’

So this seed germinated into a boot camp course which I then ran at Umbraco UK Festival in 2015. The course consisted of five exercises based on five topics from my talk in 2013.  Again it went really well and garnered plenty of positive feedback. One thing I noticed while writing and running the course was that I actually had enough material to run a full one day course.  

The Umbraco Examine Search Course

So, given that Examine is part of the Umbraco core and search is an essential part of any website I suggested to Adam our joint CEO at The Cogworks that we should propose the idea of a one day official Examine course to Umbraco HQ and include it as part of their training offering.

Adam approached HQ and as they say, the rest is history!

So, we at The Cogworks in partnership with Umbraco HQ are really excited and proud to announce the newly created one day Umbraco Examine Search Course.

The course consists of 13 exercises covering the following topics:

  • Lucene.net internals
  • Examine configuration
  • Examine Fluent API
  • Examine events, gathering node and document writing
  • How to debug Examine queries
  • Indexing and searching PDFs
  • Boosting
  • How to build your own custom indexer
  • Multi-index search
  • Multilingual search
  • Indexing complex data types
  • Spatial search with Lucene.net contrib
  • Faceting

After one day of having your brain matter fried there will be a 20 question exam with an 80 per cent pass mark. Bribes can be paid in Prince polo XXL’s (joking… although feel free to bring some along when you attend a course).

Completion of the exam will contribute to 50 certification points.

So when will it all begin? We have already completed a full trial run with fellow Cogworker guinea pigs to fine tune and feedback from HQ which has finalised the course materials. The first ever training event will be 27th March 2017 in Manchester, UK at The Hive. The cost is £695 ex VAT. You can get more information and sign up via our course booking page. More dates and locations worldwide to follow.

I hope to see some of you there or at one of the other planned sessions over the next few months!

Ismail Mayat

As the first Umbraco-certified developer in the UK, Ismail began way back in Version 2 and now has over 15 years' experience in web and has been a senior web developer at The Cogworks for the last seven.

comments powered by Disqus