- Has anybody here have experience implementing a genuine online system which had a complete text search most of the NoSQL databases?
- For instance, so how exactly does the entire-text search compare in MongoDB, Riak and CouchDB?
- A few of the metric that i'm searching for is easy deployment and maintaince not to mention speed.
- How mature could they be? Could they be any alternative for that Lucene infrastructure?
No existing "NoSQL" database supplies a reasonable implementation of something that may be named "fulltext search". MongoDB particularly has barely nothing to date (matching using regular expressions isn't fulltext search and looking out using $in or $all operators on the keyword word list is simply a inadequate implementation of the "fulltext search"). Using Solr, ElasticSearch or Sphinx is easy - an implementation and integration around the application level. Your decision broadly is dependent you needs and current setup.
Yes. See CouchDB-Lucene the industry CouchDB extension to aid full Lucene queries from the data.
MarkLogic has better choices for text search, basically recall. This is a discussion around the subject, although it is on the blog, using their authors.
I am active in the growth and development of a credit card applicatoin using Solandra (Cassandra based Apache Solr). In my opinion the machine is very stable and equipped to handle TB+ data. I am personally pleased with the program for an additional reasons: 1. Automated partitioning of information because of Cassandra after sales. 2. Wealthy querying abilities (because of Solr and Lucene). 3. Fast read and creates (creates considerably faster than reads).
However presently Solandra, In my opinion doesn't support batch strains. That's, I'm able to place 100 posts in one insertion into Cassandra, however Solandra doesn't support this.
For MongoDB, there is not a complete full-text indexing feature yet, however there's possibly one out of the pipeline, possibly due in v2.2.
Meanwhile, you may create an easy inverted index using a string array area, and putting a catalog onto it, as referred to here: Full Text Search in Mongo
Or, you can conserve a parallel full-text index inside a devoted Solr or Lucene index, and when you are feeling really ambitious replicate straight to your full-text store in the Mongo oplog. Otherwise, populate both and synchronized out of your application logic.
cLunce project. Also xapian not pointed out above. I personally use Sphinx and it is excellent but somewhat clumsy to setup. I really prefer piping data from Mongo into Sphinx via XMLPIPE2, rather than using Sphinx' SQL in sphinx.conf file.