Apache Solr vs Elasticsearch-feature
Posted 07H_JH
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apache Solr vs Elasticsearch-feature相关的知识,希望对你有一定的参考价值。
API
Feature | Solr 6.2.1 | ElasticSearch 5.0 |
---|---|---|
Format | XML, CSV, JSON | JSON |
HTTP REST API | ||
Binary API | SolrJ | TransportClient, Thrift (through a plugin) |
JMX support | ES specific stats are exposed through the REST API | |
Official client libraries | Java | Java, Groovy, php, Ruby, Perl, Python, .NET, javascript Official list of clients |
Community client libraries | PHP, Ruby, Perl, Scala, Python, .NET, Javascript, Go, Erlang, Clojure | Clojure, Cold Fusion, Erlang, Go, Groovy, Haskell, Java, JavaScript, .NET, OCaml, Perl, PHP, Python, R, Ruby, Scala, Smalltalk, Vert.x Complete list |
3rd-party product integration (open-source) | Drupal, Magento, Django, ColdFusion, Wordpress, OpenCMS, Plone, Typo3, ez Publish, Symfony2, Riak (via Yokozuna) | Drupal, Django, Symfony2, Wordpress, CouchBase |
3rd-party product integration (commercial) | DataStax Enterprise Search, Cloudera Search, Hortonworks Data Platform, MapR | SearchBlox, Hortonworks Data Platform, MapR etc Complete list |
Output | JSON, XML, PHP, Python, Ruby, CSV, Velocity, XSLT, native Java | JSON, XML/html (via plugin) |
Infrastructure
Feature | Solr 6.2.1 | ElasticSearch 5.0 |
---|---|---|
Master-slave replication | Only in non-SolrCloud. In SolrCloud, behaves identically to ES. | Not an issue because shards are replicated across nodes. |
Integrated snapshot and restore | Filesystem | Filesystem, AWS Cloud Plugin for S3 repositories, HDFS Plugin for Hadoop environments, Azure Cloud Plugin for Azure storage repositories |
Indexing
Feature | Solr 6.2.1 | ElasticSearch 5.0 |
---|---|---|
Data Import | DataImportHandler - JDBC, CSV, XML, Tika, URL, Flat File | [DEPRECATED in 2.x] Rivers modules - ActiveMQ, Amazon SQS, CouchDB, Dropbox, DynamoDB, FileSystem, Git, GitHub, Hazelcast, JDBC, JMS, Kafka, LDAP, MongoDB, neo4j, OAI, RabbitMQ, Redis, RSS, Sofa, Solr, St9, Subversion, Twitter, Wikipedia |
ID field for updates and deduplication | ||
DocValues | ||
Partial Doc Updates | with stored fields | with _source field |
Custom Analyzers and Tokenizers | ||
Per-field analyzer chain | ||
Per-doc/query analyzer chain | ||
Index-time synonyms | Supports Solr and Wordnet synonym format | |
Query-time synonyms | especially via hon-lucene-synonyms | Technically, yes, but practically no because multi-word/phrase query-time synonyms are not supported. See ES docs and hon-lucene-synonyms blog for nuances. |
Multiple indexes | ||
Near-Realtime Search/Indexing | ||
Complex documents | ||
Schemaless | 4.4+ | |
Multiple document types per schema | One set of fields per schema, one schema per core | |
Online schema changes | Schemaless mode or via dynamic fields. | Only backward-compatible changes. |
Apache Tika integration | ||
Dynamic fields | ||
Field copying | via multi-fields | |
Hash-based deduplication | Murmur plugin or ER plugin |
Searching
Feature | Solr 6.2.1 | ElasticSearch 5.0 |
---|---|---|
Lucene Query parsing | ||
Structured Query DSL | Need to programmatically create queries if going beyond Lucene query syntax. | |
Span queries | via SOLR-2703 | |
Spatial/geo search | ||
Multi-point spatial search | ||
Faceting | Top N term accuracy can be controlled with shard_size | |
Advanced Faceting | New JSON faceting API as of Solr 5.x | blog post |
Geo-distance Faceting | ||
Pivot Facets | ||
More Like This | ||
Boosting by functions | ||
Boosting using scripting languages | ||
Push Queries | JIRA issue | Percolation. Distributed percolation supported in 1.0 |
Field collapsing/Results grouping | ||
Query Re-Ranking | via Rescoring or a plugin | |
Index-based Spellcheck | Phrase Suggester | |
Wordlist-based Spellcheck | ||
Autocomplete | ||
Query elevation | workaround | |
Intra-index joins | via parent-child query | via has_children and top_children queries |
Inter-index joins | Joined index has to be single-shard and replicated across all nodes. | |
Resultset Scrolling | New to 4.7.0 | via scan search type |
Filter queries | also supports filtering by native scripts | |
Filter execution order | local params and cache property | |
Alternative QueryParsers Apache Solr vs Elasticsearch-feature |