If you want to search in Cassandra, I've been told that you need to use something like ElasticSearch or Solr.
How can that be true if Cassandra was originally built to power FaceBook's inbox search?
"Apache Cassandra was initially developed at Facebook to power their Inbox Search feature by Avinash Lakshman (one of the authors of Amazon's Dynamo) and Prashant Malik."
http://en.wikipedia.org/wiki/Apache_Cassandra
The basic idea is that you use the user id as the partition key, and then all the information you need for an inbox search will be clustered as rows in that partition. You can then set up multiple tables like this with different types of data clustered in the partition to support different types of searches. Since Cassandra can access a partition in essentially constant time even with millions of users, the system can scale and remain fast as you add nodes and users.
You can read a description of the initial system here in section 6.1 Facebook Inbox Search: Facebook's Cassandra Paper.
The description uses older Cassandra terminology like super columns, etc.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With