Skip to main content
Added clarification and some formatting
Source Link
Laver
  • 565
  • 3
  • 15

Personally I've always seen and treated Solr as a transient index, not a persistent storage solution. Whereas MongoDB has always been treated as a storage solution, and not much of an index. But this is my personal treatment, not saying that Solr can't be used as a persistent store.

If you need to access the data directly as Key/Value pairs and there isn't much querying going on, then I'd say go for MongoDB.

If you need to query the data to retrieve a subset then perhaps I'd lean towards Solr for it's more sophisticated indexing.

Multi-lingual data being searched, searching bodies of text data, faceting results? Totally choose Solr.

From personal experience setting up a reliable 3+ server Solr Cloud cluster configuration was pretty challenging at first, and has resulted in many hours of troubleshooting at times when the cluster wasn't performing as well as it should have been (or just randomly failing unexpectedly).

I'd say that Mongo's clustering / redundancy capabilities are more polished and better documented than Solr, so if operational ease is a factor then perhaps that'd sway you? Mongo you also have better access to official commercial support.

As an alternative you would probably be best off by combine the two. MongoDB cluster for persistent storage and key-value retrieval, more simplified Solr setup to index and allow fast access via more complex queries.

Edit based on clarifications:

If you can rebuild the data from an external source and can only pick one technology, then it sounds like Solr is your choice (for the above reasons). You should make sure to weigh up the pain of re-indexing from scratch as part of a disaster recovery plan to be sure you're comfortable with that operation should some sort of disaster occur, but Solr should be as stable and secure.

Personally I've always seen and treated Solr as a transient index, not a persistent storage solution. Whereas MongoDB has always been treated as a storage solution, and not much of an index. But this is my personal treatment, not saying that Solr can't be used as a persistent store.

If you need to access the data directly as Key/Value pairs and there isn't much querying going on, then I'd say go for MongoDB.

If you need to query the data to retrieve a subset then perhaps I'd lean towards Solr for it's more sophisticated indexing.

Multi-lingual data being searched, searching bodies of text data, faceting results? Totally choose Solr.

From personal experience setting up a reliable 3+ server Solr Cloud cluster configuration was pretty challenging at first, and has resulted in many hours of troubleshooting at times when the cluster wasn't performing as well as it should have been (or just randomly failing unexpectedly).

I'd say that Mongo's clustering / redundancy capabilities are more polished and better documented than Solr, so if operational ease is a factor then perhaps that'd sway you? Mongo you also have better access to official commercial support.

As an alternative you would probably be best off by combine the two. MongoDB cluster for persistent storage and key-value retrieval, more simplified Solr setup to index and allow fast access via more complex queries.

Personally I've always seen and treated Solr as a transient index, not a persistent storage solution. Whereas MongoDB has always been treated as a storage solution, and not much of an index. But this is my personal treatment, not saying that Solr can't be used as a persistent store.

If you need to access the data directly as Key/Value pairs and there isn't much querying going on, then I'd say go for MongoDB.

If you need to query the data to retrieve a subset then perhaps I'd lean towards Solr for it's more sophisticated indexing.

Multi-lingual data being searched, searching bodies of text data, faceting results? Totally choose Solr.

From personal experience setting up a reliable 3+ server Solr Cloud cluster configuration was pretty challenging at first, and has resulted in many hours of troubleshooting at times when the cluster wasn't performing as well as it should have been (or just randomly failing unexpectedly).

I'd say that Mongo's clustering / redundancy capabilities are more polished and better documented than Solr, so if operational ease is a factor then perhaps that'd sway you? Mongo you also have better access to official commercial support.

As an alternative you would probably be best off by combine the two. MongoDB cluster for persistent storage and key-value retrieval, more simplified Solr setup to index and allow fast access via more complex queries.

Edit based on clarifications:

If you can rebuild the data from an external source and can only pick one technology, then it sounds like Solr is your choice (for the above reasons). You should make sure to weigh up the pain of re-indexing from scratch as part of a disaster recovery plan to be sure you're comfortable with that operation should some sort of disaster occur, but Solr should be as stable and secure.

Source Link
Laver
  • 565
  • 3
  • 15

Personally I've always seen and treated Solr as a transient index, not a persistent storage solution. Whereas MongoDB has always been treated as a storage solution, and not much of an index. But this is my personal treatment, not saying that Solr can't be used as a persistent store.

If you need to access the data directly as Key/Value pairs and there isn't much querying going on, then I'd say go for MongoDB.

If you need to query the data to retrieve a subset then perhaps I'd lean towards Solr for it's more sophisticated indexing.

Multi-lingual data being searched, searching bodies of text data, faceting results? Totally choose Solr.

From personal experience setting up a reliable 3+ server Solr Cloud cluster configuration was pretty challenging at first, and has resulted in many hours of troubleshooting at times when the cluster wasn't performing as well as it should have been (or just randomly failing unexpectedly).

I'd say that Mongo's clustering / redundancy capabilities are more polished and better documented than Solr, so if operational ease is a factor then perhaps that'd sway you? Mongo you also have better access to official commercial support.

As an alternative you would probably be best off by combine the two. MongoDB cluster for persistent storage and key-value retrieval, more simplified Solr setup to index and allow fast access via more complex queries.