Skip to Content

Updating the Solr Engine in ColdFusion

I’m following up on my CFSummit 2013 blog post, a few people have asked me about this, so I wanted to make a page dedicated to this topic.

ColdFusion 10 ships with Solr version 3.4 (Solr Specification Version: 3.4.0.2012.02.02.15.09.05 ).  It looks like they got the source code from the git repository on February 2nd, 2012.  In my application that I was writing, I was indexing a huge amount of data (full text of PDF files).  The solr instance bundled within ColdFusion couldn’t handle the amount of data that I was passing it.  I don’t remember the exact bug, but I did indeed find that the bug was fixed in one of the newer versions of solr.  I emailed Rakshith and asked him if he had documentation for updating Solr and he told me that unfortunately there wasn’t a way to do it for reasons that I quoted in the CF Summit blog post.

Solr is now on version 4.5.1.  From Version 3 to version 4 they made significant improvements, listed in the official docs here: http://docs.lucidworks.com/display/solr/Major+Changes+from+Solr+3+to+Solr+4

I decided try to install solr myself.  It sounded like a scary task, but it was extremely easy to leverage the power of solr with an open source library, cfsolrlib.  I found it almost as easy to use as the native <cfsearch> and <cfindex> tags.  The library was written by Shannon Hicks and is on riaforge: http://cfsolrlib2.riaforge.org.  It’s repository is located on github at https://github.com/iotashan/cfsolrlib.

I found that using “real solr” helped me understand how solr actually works.  Prior to installing solr from scratch I was telling my clients that “solr is a black box!” but by installing the full version of solr I was able to have control over things such as word stemming, word matching, etc.
Don’t be afraid to use the “real” version of solr!

Get in touch so we can start your
next web project!

Let us know what you’re looking for. We strive to respond in 48 hours, but, every now and then, life gets in the way, so be patient if there’s a delay.



    Back to top