Location : Visual Interop Development » Lucene.net vs MsSQL FullText, and the winner is..... : Blog

Blog

Lucene.net vs MsSQL FullText, and the winner is.....

Published by admin on 2010-03-08

Recently I had the chance to work with the wonderful Lucene.net search indexing library to replace an already built MsSQL website search. The reason? Speed, flexibility, and a general altogether dislike for Microsoft products.

Now, I had heard that Lucene.net was fast, but that is never enough for me. I needed to see it for myself. So after a bit of coding all the classes that I needed to mock the existing system, I got them running side-by-side. For analysis I used Apache's amazing JMeter. If you aren't familiar with JMeter, it basically just tests something over and over and over again, as many times as you need for a given period of time or a select number of times. Below you will find the results.



The Test:
15 simultaneous connections repeatedly for about 15 minutes.

The Times:
It took the website about 7 seconds to initialize (both searches off), so in these tests we need to take that into consideration.
Lucene.net: 8 seconds - 7 seconds init time = 1.5 seconds!
MsSQL FullText: 29 seconds - 7 seconds init time = 22 seconds

The Verdict: Lucene take 1.5 seconds to do the same type of search that it takes FullText 22 seconds to accomplish!




I know, I know, it blew my mind too....

So, in short, if you are planing to implement some type of search into your application, do not overlook Lucene, it has some amazing flexibility, endless configurations, and, well, it's free.
T Filename Size Last Modified Created / Uploaded Actions
No records found.

Google Search

 
www.visop-dev.com
WWW
Show php error messages
 
PHP (5.2.17) NOTICE (E_NOTICE):
File: lib/wiki-plugins/wikiplugin_files.php
Line: 407
Type: Undefined variable: gal
PHP (5.2.17) NOTICE (E_NOTICE):
File: templates_c/en^031e73e445b716ce92b8407ae7c06bf3aeb8aac8.file.list_file_gallery_content.tpl.php
Line: 47
Type: Undefined index: show_action
PHP (5.2.17) NOTICE (E_NOTICE):
File: lib/smarty/libs/sysplugins/smarty_internal_data.php
Line: 291
Type: Undefined variable: other_columns
PHP (5.2.17) NOTICE (E_NOTICE):
File: lib/smarty/libs/sysplugins/smarty_internal_data.php
Line: 291
Type: Undefined variable: galleryId
PHP (5.2.17) NOTICE (E_NOTICE):
File: lib/smarty/libs/sysplugins/smarty_internal_data.php
Line: 291
Type: Undefined variable: nbCols
PHP (5.2.17) NOTICE (E_NOTICE):
File: lib/smarty/libs/sysplugins/smarty_internal_data.php
Line: 291
Type: Undefined variable: galleryId
PHP (5.2.17) NOTICE (E_NOTICE):
File: lib/smarty/libs/sysplugins/smarty_internal_data.php
Line: 291
Type: Undefined variable: galleryId
PHP (5.2.17) NOTICE (E_NOTICE):
File: lib/smarty/libs/sysplugins/smarty_internal_data.php
Line: 291
Type: Undefined variable: galleryId
PHP (5.2.17) NOTICE (E_NOTICE):
File: templates_c/en^031e73e445b716ce92b8407ae7c06bf3aeb8aac8.file.list_file_gallery_content.tpl.php
Line: 155
Type: Undefined index: show_action
PHP (5.2.17) NOTICE (E_NOTICE):
File: templates_c/en^8be845193c30ebb2af1f9cbfb067e169eb6f76bc.file.blog_post_postbody_title.tpl.php
Line: 38
Type: Undefined index: freetags
PHP (5.2.17) NOTICE (E_NOTICE):
File: lib/smarty/libs/sysplugins/smarty_internal_data.php
Line: 291
Type: Undefined variable: user
PHP (5.2.17) NOTICE (E_NOTICE):
File: lib/smarty/libs/sysplugins/smarty_internal_data.php
Line: 291
Type: Undefined variable: user
PHP (5.2.17) NOTICE (E_NOTICE):
File: lib/smarty/libs/sysplugins/smarty_internal_data.php
Line: 291
Type: Undefined variable: trail
PHP (5.2.17) NOTICE (E_NOTICE):
File: lib/smarty/libs/sysplugins/smarty_internal_data.php
Line: 291
Type: Undefined variable: structure
PHP (5.2.17) NOTICE (E_NOTICE):
File: lib/smarty/libs/sysplugins/smarty_internal_data.php
Line: 291
Type: Undefined variable: page
PHP (5.2.17) NOTICE (E_NOTICE):
File: lib/smarty/libs/sysplugins/smarty_internal_data.php
Line: 291
Type: Undefined variable: trail
PHP (5.2.17) NOTICE (E_NOTICE):
File: lib/smarty/libs/sysplugins/smarty_internal_data.php
Line: 291
Type: Undefined variable: tiki_p_site_report
PHP (5.2.17) NOTICE (E_NOTICE):
File: lib/smarty/libs/sysplugins/smarty_internal_data.php
Line: 291
Type: Undefined variable: tiki_p_tell_a_friend
PHP (5.2.17) NOTICE (E_NOTICE):
File: lib/smarty/libs/sysplugins/smarty_internal_data.php
Line: 291
Type: Undefined variable: tiki_p_tell_a_friend
PHP (5.2.17) NOTICE (E_NOTICE):
File: lib/smarty/libs/sysplugins/smarty_internal_data.php
Line: 291
Type: Undefined variable: module_pref_errors