I am thinking of changing my web site's homegrown search engine. Before I break out Visual Studio, I wondered if anyone can suggest an alternative that gives me what I need. This being:
- Works with an ASP.NET site (is a .NET project)
- Creates a file-based index
- Fast search across hundreds or thousands of pages
- Performs word-stemming to find variations upon words
- Gives full control over the output styles
- Is cheap (or better still, free!)
The .NET version of Lucene is what we've been using. It meets all of your criteria.
You can't really beat Google Site Search for this. It's fully customizable - and no need for embedding or maintaining.
EDIT: found this ASP.NET opensource search engine that you can take and run with, In response to your comment about knowing what google does, this is well documented and they have TONS of webmaster tools for you.
First I would agree with Google Site Search.
However, if you want to search on criteria that Google might not see (like stuff in the database, etc), then you might look at Lucene.net. It is a port of the Java Lucene project:
Apache Lucene is a high-performance, full-featured text search engine library written entirely in
Java.Net. It is a technology suitable for nearly any application that requires full-text search, especially cross-platform.
It is free under the Apache license.
Why can't you try out google custom search engine? If you want ultimate control over the indexing you can create your own search engine using lucene.net
From my question "In-house full-text search engine for source code and SQL scripts":
I use Hyper Estraier, but Namazu is also well-known.
There are also ht://Dig, Lucene, Xapian, etc.. but I don't know too much about them.
DTSearch engine at http://www.dtsearch.com/ is a solid engine that is easy to develop against. Although it does cost money.
来源:https://stackoverflow.com/questions/146388/what-is-a-good-search-engine-for-embedding-in-a-web-site