Skip to content

Releases: quickwit-oss/tantivy

Tantivy v0.16.1

10 Sep 14:07
Compare
Choose a tag to compare

Major Bugfix on multivalued fastfield. #1151

Tantivy 0.15.3

30 Jun 07:27
Compare
Choose a tag to compare

Tantivy 0.15.2

16 Jun 13:17
Compare
Choose a tag to compare
  • Major bugfix. DocStore still panics when a deleted doc is at the beginning of a block. (@appaquet) #1088

Tantivy 0.15.1

14 Jun 11:50
5209238
Compare
Choose a tag to compare
  • Major bugfix. DocStore panics when first block is deleted. (@appaquet) #1077

Tantivy 0.15

07 Jun 01:10
Compare
Choose a tag to compare
  • API Changes. Using Range instead of (start, end) in the API and internals (FileSlice, OwnedBytes, Snippets, ...)
    This change is breaking but migration is trivial.
  • Added an Histogram collector. (@fulmicoton) #994
  • Added support for Option. (@fulmicoton)
  • DocAddress is now a struct (@scampi) #987
  • Bugfix consistent tie break handling in facet's topk (@hardikpnsp) #357
  • Date field support for range queries (@rihardsk) #516
  • Added lz4-flex as the default compression scheme in tantivy (@PSeitz) #1009
  • Renamed a lot of symbols to avoid all uppercasing on acronyms, as per new clippy recommendation. For instance, RAMDirectory -> RamDirectory. (@fulmicoton)
  • Simplified positions index format (@fulmicoton) #1022
  • Moved bitpacking to bitpacker subcrate and add BlockedBitpacker, which bitpacks blocks of 128 elements (@PSeitz) #1030
  • Added support for more-like-this query in tantivy (@evanxg852000) #1011
  • Added support for sorting an index, e.g presorting documents in an index by a timestamp field. This can heavily improve performance for certain scenarios, by utilizing the sorted data (Top-n optimizations)(@PSeitz). #1026
  • Add iterator over documents in doc store (@PSeitz). #1044
  • Fix log merge policy (@PSeitz). #1043
  • Add detection to avoid small doc store blocks on merge (@PSeitz). #1054
  • Make doc store compression dynamic (@PSeitz). #1060
  • Switch to json for footer version handling (@PSeitz). #1060
  • Updated TermMerger implementation to rely on the union feature of the FST (@scampi) #469
  • Add boolean marking whether position is required in the query_terms API call (@fulmicoton). #1070

Tantivy 0.14

05 Feb 14:12
Compare
Choose a tag to compare
  • Remove dependency to atomicwrites #833 .Implemented by @fulmicoton upon suggestion and research from @asafigan).
  • Migrated tantivy error from the now deprecated failure crate to thiserror #760. (@Hirevo)
  • API Change. Accessing the typed value off a Schema::Value now returns an Option instead of panicking if the type does not match.
  • Large API Change in the Directory API. Tantivy used to assume that all files could be somehow memory mapped. After this change, Directory return a FileSlice that can be reduced and eventually read into an OwnedBytes object. Long and blocking io operation are still required by they do not span over the entire file.
  • Added support for Brotli compression in the DocStore. (@ppodolsky)
  • Added helper for building intersections and unions in BooleanQuery (@guilload)
  • Bugfix in Query::explain
  • Removed dependency on notify #924. Replaced with FileWatcher struct that polls meta file every 500ms in background thread. (@halvorboe @guilload)
  • Added FilterCollector, which wraps another collector and filters docs using a predicate over a fast field (@barrotsteindev)
  • Simplified the encoding of the skip reader struct. BlockWAND max tf is now encoded over a single byte. (@fulmicoton)
  • FilterCollector now supports all Fast Field value types (@barrotsteindev)
  • FastField are not all loaded when opening the segment reader. (@fulmicoton)

This version breaks compatibility and requires users to reindex everything.

Tantivy 0.13.3

13 Jan 01:21
Compare
Choose a tag to compare

Minor Bugfix. Avoid relying on serde's reexport of PhantomData. (#975)

Tantivy 0.13.2

01 Oct 11:29
Compare
Choose a tag to compare

HotFix. Acquiring a facet reader on a segment that does not contain any
doc with this facet returns None. (#896)

Tantivy 0.13.1

19 Sep 12:17
Compare
Choose a tag to compare

Made Query and Collector Send + Sync.
Updated misc dependency versions.

Tantivy 0.13

19 Aug 15:01
Compare
Choose a tag to compare

Tantivy 0.13 introduce a change in the index format that will require
you to reindex your index (BlockWAND information are added in the skiplist).
The index size increase is minor as this information is only added for
full blocks.
If you have a massive index for which reindexing is not an option, please contact me
so that we can discuss possible solutions.

  • Bugfix in FuzzyTermQuery not matching terms by prefix when it should (@Peachball)
  • Relaxed constraints on the custom/tweak score functions. At the segment level, they can be mut, and they are not required to be Sync + Send.
  • MMapDirectory::open does not return a Result anymore.
  • Change in the DocSet and Scorer API. (@fulmicoton).
    A freshly created DocSet point directly to their first doc. A sentinel value called TERMINATED marks the end of a DocSet.
    .advance() returns the new DocId. Scorer::skip(target) has been replaced by Scorer::seek(target) and returns the resulting DocId.
    As a result, iterating through DocSet now looks as follows
let mut doc = docset.doc();
while doc != TERMINATED {
   // ...
   doc = docset.advance();
}

The change made it possible to greatly simplify a lot of the docset's code.

  • Misc internal optimization and introduction of the Scorer::for_each_pruning function. (@fulmicoton)
  • Added an offset option to the Top(.*)Collectors. (@robyoung)
  • Added Block WAND. Performance on TOP-K on term-unions should be greatly increased. (@fulmicoton, and special thanks
    to the PISA team for answering all my questions!)