8

What's your preferred method of providing a search facility on a website? Currently I prefer to use Lucene.net over Indexing Service / SQL Server full-text search (as there's nothing to set up server-side), but what other ways are being used out there?

Nick
  • 5,498
  • 9
  • 50
  • 72

9 Answers9

6

We used both Lucene.net, Indexing Service and SQL Server full-text. For a project with large and heavy DB search functionality SQL search has an upper hand in terms of performance/resource hit. Otherwise Lucene is much better in all aspects.

Ilya Kochetov
  • 16,969
  • 6
  • 41
  • 58
4

Take a look at Solr. It uses Lucene for text indexing, but it is a full blown http server so you can post documents over http and do search using urls. The best part is that it gives you faceted searching out of the box which will require a lot of work if you do it yourself.

Bharani
  • 417
  • 1
  • 4
  • 5
  • Solr also provides other features that you might end up reimplementing by going with Lucene.Net. For example: Solr can replicate indexes from one machine to another, which can help with failover or performance. Solr can help deal with gigantic indexes by automatically distributing a query across mutliple "shard" servers. With DataImportHandler, Solr can crawl a SQL database and index the data contained therein without additional code (just XML config). The main potential downside is that if you need to customize the search code, you'll now have to do that customization in Java, not .NET. – Chris May 26 '10 at 20:15
  • 1
    Let it be known there are downsides to Solr. HTTP is an expensive and wasteful protocol - compared to native code running on the same machine as the web-application. If you have redundancy built into your application layer already RE-CENTRALIZING the search by aggregating all searches to a single (or few) servers is not ideal for performance either. By using Solr it becomes much more difficult to manage ever-changing indexes. It also is not a good paradigm fit if your applications have MANY different Lucene indexes or you search multiple indexes at once as part of your implementation. – Ben DeMott Mar 23 '12 at 14:47
0

you could use google, it's not going to be the fastest indexer but it does provide great results when you have no budget.

Alexandre Brisebois
  • 6,239
  • 12
  • 47
  • 68
0

dtSearch is one we've often used, but I'm not really that big a fan of it.

Aaron Powell
  • 24,268
  • 14
  • 93
  • 147
0

A lot of people are using Google's custom search these days; even a couple of banks that I know of use it for their intranet.

Nikki9696
  • 5,489
  • 1
  • 24
  • 22
0

If you need to index all the pages of your site (not just the ones Google indexes) or if you want to create a search for your intranet web sites, the Google Mini is pretty sweet. It will cost you some money, but it is really easy to have it up and running within just a couple of hours. Depending on how many pages you need to index it can be expensive though.

Erikk Ross
  • 2,157
  • 13
  • 18
0

I also recommend SOLR. It's easy to set up, maintain, and configure. I've found it to be stable and easy to scale. There's a c# package for interfacing with solr.

Jimtronic
  • 1,149
  • 1
  • 8
  • 20
0

I'm using dtSearch and I (kind of) like it. The API isn't the greatest in the world for .NET but it can get the job done and it's pretty fast. And it's cheap, so your boss will like it (~$1,000 US).

The results leave something to be desired as it doesn't do any kind of semantic relevance rankings or anything fancy. It does a better job than anything you can get out of MS SQL server though.

It has a web spider that makes it easy to do quick search apps on a website. If you need to you can use the API to create hooks into your database and to provide item level security - but you have to do the work yourself. Their forum leaves something to be desired as well but maybe people will start posting dtSearch stuff here. :)

dirq
  • 902
  • 2
  • 10
  • 26
0

Has anyone tried Microsoft search server express?

http://www.microsoft.com/enterprisesearch/serverproducts/searchserverexpress/default.aspx

I haven't tried it yet, but it could potentially be powerful.

From the site it looks primarily geared towards sharepoint users but given its sdk I don't see why you couldn't use it for a regular old site search