Heliosearch - Heliosearch/heliosearch GitHub Wiki
Heliosearch is a high-performance NoSQL search server, the next generation of Solr open source search.
Heliosearch/Solr Features
High-Performance Architecture
- Native code faceting that more than doubles faceted query performance.
- Off-heap filters accelerate request throughput and minimize JVM garbage collection pauses.
- Off-heap fieldCache to lower GC overhead and accelerate sorting, faceting, and function queries.
Document Oriented
Document oriented storage enables high scalability. Solr is data-format agnostic, and does is not tied to any particular serialization. Documents can be added to Solr in JSON, XML, CSV, or binary format.
Distributed
Split a big index across multiple machines and query it as if it were a single document collection.
Fault Tolerant
There are no single points of failure. Documents are replicated to multiple nodes for fault-tolerance, high availability, and increased query scalability.
Atomic Updates
Atomic field modifiers for highly scalable document modification.
Optimistic Concurrency
Versioning and conditionally updates based on document versions.
Faceted Search
- Dynamic category counting for search results, Solr lets you slice-and-dice on the fly! Also called guided navigation.
- New in Heliosearch: faceting enhancements including
- facet functions
- subfacets
Hit Highlighting
Also called “keyword in context”, this feature returns snippets of documents with matching query terms highlighted.
Spatial Search
Find documents within a certain distance from a given point on Earth.
Full-text Search
Solr uses Lucene as it’s primary index format to provide world class full-text search capabilities.
Pseudo-Join
Although Solr is primarily document oriented, we recognize that certain database operations like JOIN can be the right tool for the job in some circumstances. This functionality selects a set of documents based on their relationship to a second set of documents.
Grouping
This feature limits the number of documents shown per category. For example, one could limit the number of website pages shown per domain or the number of pages shown per book.