Solr is another great option, it is actually a facade on top of lucene, which provides you with a nice REST / url API. An affordable, mature .Net library is also available there.
http://lucene.apache.org/solr/
http://code.google.com/p/solrnet/
From your question, however, are you looking for the actual base engine, or are you looking for something to also crawl / cross your content by creating indexes of your search engine?
-
Editing to respond to a comment from the original poster.
You have two halves of the equation to solve then.
First, we select a search engine that responds to input (keywords), and then requests its indexes and returns what, in its opinion, matches the corresponding matches. The second half of the equation is a search for a mechanism to populate the search index of your selected engine.
As for the engine, Lucene suggested, and I suggested the Lucene option, which provides a (possibly) improved developer interface. As for building your search corpus, this is a little different. Here you can choose to write your own software that takes up some of the content and adds it to the index. The advantage here is that you have little control over what goes into the search engine and when. On the other hand, you are writing new code - fortunately, modern search engines such as Lucene / Solr make this pretty easy.
The second option is to use something to automatically crawl your content and add it to the index. The challenges here are identifying and learning how to set up a suitable option. Depending on your choice of scanners, it may or may not well document documents sitting on the file system (for example, on the Sharepoint corporate website).
Nutch is an Apache crawler (creators of Lucene and Solr) that could potentially be used if you decide not to write your own code. http://wiki.apache.org/nutch/
bakasan
source share