Heliosearch Downloads and Release Notes

Heliosearch is intended to be the successor to the popular Apache Solr project. Heliosearch is forked from Apache Solr and includes additional features and performance enhancements.

[ ]

Heliosearch v0.09


  • Heliosearch v0.09 is based on (and contains all features of) Lucene/Solr 4.10.2 + most of 4.10.3
  • Distributed search support for the new faceted search module / JSON Facet API
  • Automatic conversion of legacy field/range/query facets when facet.version=2 is passed. This includes support for the deprecated heliosearch syntax of facet.stat=facet_function and subfacet.parentfacet.type=facet_param.
  • New JSON Request API


  • unique facet function now works on multi-valued fields
  • Sub-facets are not processed for buckets with a 0 count
  • Auto-detect HTTP body when curl is used
  • Allow JSON body for HTTP-GET
  • Parsed and merged JSON is available on SolrQueryRequest, allowing access by all components

Bug Fixes

  • Nested facets didn’t correctly narrow results

Heliosearch v0.08


  • Heliosearch v0.08 is based on (and contains all features of) Lucene/Solr 4.10.2
  • A JSON Facet API to more naturally express Facet Statistics and Nested Sub-Facets
  • A new faceted search module to more easily support future search features
  • Streaming Aggregations over search results
  • Optimized request logging, and added a logLimit request parameter that limits the size of logged request parameters

Note: Users of v0.07 will need to re-index after first removing the data directory.

Heliosearch v0.07


  • Heliosearch v0.07 is based on (and contains all features of) Lucene/Solr 4.10.0
  • An optimized Terms Query with native code performance enhancements for efficiently matching multiple terms in a field.
  • Native code to accelerate creation of off-heap filters.
  • Added a off-heap buffer pool to speed allocation of temporary memory buffers.
  • Added ConstantScoreQuery support to lucene query syntax.
  • Example: +color:blue^=1 text:shoes

  • Added filter support to lucene query syntax. This retrieves an off-heap filter from the filter cache, essentially like embedding “fq” (filter queries) in a lucene query at any level. This also effectively provides a way to “OR” various cached filters together.
  • Example: description:HDTV OR filter(+promotion:tv +promotion_date:[NOW/DAY-7DAYS TO NOW/DAY+1DAY])

  • Added C-style comments to lucene query syntax.
  • Example: description:HDTV /* this is a comment */

Heliosearch v0.06


  • Heliosearch v0.06 is based on (and contains all features of) Lucene/Solr 4.9.0
  • Native code faceting for single valued string fields.
    • Written in C++, statically compiled with gcc for Windows, Mac OS-X, Linux
    • static compilation avoids JVM hotspot warmup period, mis-compilation bugs, and variations between runs
    • Improves performance over 2x
  • Top level Off-heap fieldcache for single valued string fields in nCache.
    • Improves sorting and faceting speed
    • Reduces garbage collection overhead
    • Eliminates FieldCache “insanity” that exists in Apache Solr from faceting and sorting on the same field
  • Full request Parameter substitution / macro expansion, including default value support.
  • frange query now only returns documents with a value.
    For example, in Apache Solr, {!frange l=-1 u=1 v=myfield} will also return documents without a value since the numeric default value of 0 lies within the range requested.
  • New JSON features via Noggit upgrade, allowing optional comments (C/C++ and shell style), unquoted keys, and relaxed escaping that allows one to backslash escape any character.

Bug Fixes

  • Fixed Lucene/Solr bug with ord/rord functions not working with the first ordinal. Ords are now defined to be 0 based (-1 is for missing).

Heliosearch v0.05


  • Heliosearch is now forked from the stable Solr branch (i.e. based on Solr 4.x). Heliosearch v0.05 is based on Solr 4.8.0
  • New Facet Functions & Analytics
  • New Subfacets

Heliosearch v0.04


  • Off-Heap Filters to reduce garbage collection pauses and overhead. https://heliosearch.org/off-heap-filters
  • Removed the 1024 limit on the number of clauses in a boolean query. For example: q=id:(doc1 doc2 doc3 doc4 doc5 ... doc2000) will now work correctly without throwing an exception.
  • Deep Paging with cursorMark. This is not yet in a current release of Apache Solr, but should be in the future.
  • nCache – the new Off-Heap FieldCache to reduce garbage collection overhead and accelerate sorting, faceting, and function queries.