Question

I'm curios how can a NoSQL solution support keyword search in a very very big table distributed accross multiple servers?

By keyword search I mean a DB like the one Google has, with huge amount of documents, and with the ability to answer such question like find "hotels in New York" very fast indeed.

I see very simple solution to support OR operation in NoMysql solution (for example, queries like: "A or B or C") - just to use another very big distributed table that will hold an inverted index from any word to the document it is found in. In such case, given "A or B or C", we can just go directly to "A" or "B" or "C" entries in the index table and collect all the documents-ids. Then, once we have the ids to to fetch the documents themselfes.

But how to design a DB that will support efficient AND operations (for example, if I need to search for "A and B and C")?

Was it helpful?

Solution

I'd recommend you to take a look at elasticsearch and solr.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top