DSE Search versus Open Source Apache Solr™
By virtue of its integration into DataStax Enterprise, differences exist between DSE Search and Open Source Solr (OSS).
Major differences
| Capability | DSE Search | OS Solr | Description |
|---|---|---|---|
Includes a database |
yes |
no |
For OSS, create an interface to add a database. |
Indexes real-time data |
yes |
no |
Ingests real-time data and automatically indexes the data. |
Provides an intuitive way to update data |
yes |
no |
CQL for loading and updating data. |
Supports data distribution |
yes |
yes [1] |
Transparently distributes real-time, analytics, and search data to multiple nodes in a cluster. |
Balances loads on nodes/shards |
yes |
no |
Unlike Solr and Solr Cloud™, DSE Search loads can be efficiently rebalanced. |
Spans indexes over multiple datacenters |
yes |
no |
A DSE cluster can have more than one datacenter for different types of nodes. |
Makes durable updates to data |
yes |
no |
Updates are durable and written to the commit log for all updates. |
Automatically reindexes search data |
yes |
no |
OSS requires the client to reingest everything to reindex data in Solr. |
Upgrades of Apache Lucene™ preserve data |
yes |
no |
DataStax integrates Lucene upgrades periodically and data is preserved when you upgrade DSE. |
Supports |
yes |
no |
OSS Solr does not support using |
[1] OSS requires using Zookeeper.
Feature differences
DSE Search supports limiting queries by time by using the Solr timeAllowed parameter.
DSE Search differs from native Solr:
-
If the
timeAllowedis exceeded, an exception is thrown. -
If the
timeAllowedis exceeded, and the additionalshards.tolerantparameter is set to true, the application returns the partial results collected so far.When partial results are returned, the CQL custom payload contains the
DSESearch.isPartialResultskey.