I'm creating a site that is running on a shared server and I need to find a good search engine. What search engine framework should I use to fit my requirements?
Here are some requirements
- ~100,000 documents need to be indexed
- Shared Server (but can run ASP.Net and php apps)
- Need to be able to restrict search results to specific tags, categories
- Need to be able to sort by relevance + popularity, or relevance + date
- A search is preformed on every page load (although i might implement caching). The way it works is kind of like stackoverflow. I have a main document and then suggestions for related documents are loaded on the right. This occurs on every page
- Software is free and has very little budget for any type of hosted search solution (at this time anyway)
Here are my thoughts
- zend lucene search - perform开发者_开发百科ance is not good enough for such a large site
- Google custom search - number of sites/queries is limited
- Solr, Sphinx, java lucene - on a shared server so I cannot install these
- Lucene.net - I'm not sure if this is is possible. My hosting company allows me to run php and asp.net websites...but perhaps Lucene.net has to run as a separate process?
- MySql FullText search - I am not aware of performance for large sites like I have described
This seems like a tough bill to satisfy but I'm hoping I don't need to come up with an alternative design.
For this kind of features, and such a big number of documents, I would absolutly not go with MySQL's fulltext : I would definitly use some external indexing/searching solution (like Solr, Lucene, ...)
Like you said :
- You have too many documents for Zend Lucene (pure PHP implementation).
- MySQL fulltext -- ergh, not that powerful, slow, ...
- Solr/Sphinx require you to install them
Not sure about Lucene.NET, but with that kind of volume of data, can you really not get your own server, so you can install what you need to work properly ?
And that's especially true if search is an important part of your application (it seems it is).
If I am not wrong you are using WOrdpress. Will you be able to install MongoDB and php-mongo extension to your server, if yes then MongoDB FUlltext Search with MongoLantern can be efficient plugin for you.It can also be installed with wordpress and override the wordpress search with mongodb fulltext search.
I have used it in few of my projects and they seems worked quite well. You can have MongoLantern WP plugin from here: http://wordpress.org/extend/plugins/mongolantern/
精彩评论