In 2006, I built a medium-sized knowledge base (possibly 2 GB of indexed text) on top of SQL Server 2005 FTS and now migrated it to 2008 iFTS. Both situations worked well for me, but the transition from 2005 to 2008 was a good improvement for me.
My situation was not the same as StackOverflow in the sense that I indexed data that was updated only at night, however I tried to join the search results from several CONTAINSTABLE statements back to each other and to relational tables.
In FTS 2005, this meant that each CONTAINSTABLE would have to do its own index search, return complete results, and then cause the DB engine to combine these results with relational tables (all this was transparent to me, but it happened and was expensive for inquiries). 2008 iFTS has improved this situation because integration with the database allows several CONTAINSTABLE results to become part of the query plan, which has made many queries more efficient.
I think that both 2005 and 2008 FTS engines, as well as Lucene.NET, have architectural compromises that will better or worse correspond to many circumstances of the project. I was just lucky that the update worked in my favor. I can fully understand why iFTS in 2008 will not work in the same configuration as in 2005, for a high-level type of use of OLTP, for example StackOverflow.com. However, I would not reduce the likelihood that the 2008 iFTS might be isolated from heavy loading of the insert transaction ... but it also sounds like it could be as much as switching to Lucene.NET. .. and the cool Lucene.NET factor is hard to ignore;)
In any case, for me the ease and effectiveness of iFTS SQL 2008 in most situations probably eliminates the Lucene "cool" factor (although it is easy to use, I never used it in a production system, m comments on this). I would be interested to know how much more efficient Lucene (turned out to be implemented now?) In StackOverflow or similar situations.
ZeroBugBounce Feb 01 '09 at 1:32 2009-02-01 01:32
source share