I want to get some suggestions on what search products are integrated best with SDL Tridion 2011 or 2013? We are looking to add search to our website. Thanks.
Tridion doesn't really have a 'works best' type solution here you can pretty much plug anything into the CMS.
here's what i've most commonly seen in the past:
1) You do nothing :)
You use Tridion to publish your website as normal, your search application is configured to crawl your published website and index the content in this way.
2) You extend the publishing model (java)
You can build both 'Storage' and 'Deployer' extensions (plenty of information online) that take your published content (or the un-publish action) and post/pass/inform your search application of the new content.
Typically I do see Solr being the most popular search tool used, but I didn't want to mention it as I fear most users are starting to think that is the only option, and the actual Content Management interface part of SDL Tridion uses Solr internally for performing content searches.
There are two main approaches to implementing search with Tridion:
- When you publish a piece of content or a page or whatever from Tridion, also publish info about the item in question into the search engine's index. In a nutshell, this is how Solr and Lucene integrations work, and John's and Pankaj's answers loosely describe the approach. This is an effort-intensive task. You're looking at needing a good senior developer spending a couple of weeks on it. However, you do have fine grain control of exactly what gets indexed.
- The second approach is a "low-hanging fruit". It is my favourite. Let the search engine crawl and index your published site automatically. You would control what gets indexed via the search engine's console, but you don't have the same level of control here as with approach #1. The search engines here are:
- Google Search Appliance (by far the easiest thing. Just plop this thing on your network, point to your site and style the search results page - or iFrame the default one that it provides)
- Microsoft Search. It's free. (install on a windows box, point to your site and customize the search results page.
The second approach is much much simpler than the first. So if you're after basic site search functionality, this requires little coding and no knowledge of Tridion.
I have done successful integration to following Search Engines with SDL Tridion:
- Google Mini (Currently Planned for a client)
In short you can typically integrate any Search Engine which you can interact through a JAVA code.Alternatively, if your search engine can not be interacted through a JAVA code but (say) through .NET, then you may choose to write a RESTFul WCF wrapper and invoke it through your java code.
For more detail about a generic approach to integrate Search Engines with SDL Tridion you can see the Below post of mine - Search Engine Integration With SDL Tridion
In Short: Virtually, you can integrate any Search Engine of your choice with SDL Tridion. Now the Problem could be underlying the way you implement this integration.
For an example: If your SDL Tridion Version is 2011 and you choose the Deployer Extension to integrate to the Search Engine, you will come across a lot of problems.
In general, in a Tridion implementation, in addition to using a search engine, you will be using broker queries to serve relevant content to your visitor. The choice of search engine should be heavily influenced by this reality.
I recently used Microsoft Search server on a project that began with simple search requirements that could be met by spidering the site. As later requirements emerged, it became apparent that for some visitor queries, we needed to serve a combination of results from the search server, and from a broker query. I'd have preferred to do it all via search, but that particular search engine leans heavily towards spidering. If you want to actively push results into the search index, if it's possible, it comes under the heading of "advanced".
My suggestion would be to ensure that the search engine you choose has good support for both "push" and "pull" approaches, (if I can put it like that.) Even if your requirements start simple, it's quite likely that you'll be glad of the flexibility later.
An open source Search Integration frameowork has just been released: Search Integration For Tridion (or SI4T). This has an out of the box integration with Apache Solr, but you can use pretty much any search engine you like, with a bit of custom coding to extend the indexing part of it (the templating and storage extension parts are generic to all search engines).