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 timeAllowed queries with deep paging. |
yes |
no |
OSS Solr does not support using timeAllowed queries with deep paging. |
Feature differences
DSE Search supports limiting queries by time by using the Solr timeAllowed parameter. DSE Search differs from native Solr:
-
If the timeAllowed is exceeded, an exception is thrown.
-
If the timeAllowed is exceeded, and the additional shards.tolerant parameter 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.isPartialResults key.