Tantivy is a full-text search engine library inspired by Apache Lucene and written in Rust
MIT License
Bot releases are hidden (Show)
Tantivy 0.22 will be able to read indices created with Tantivy 0.21.
get_docids_for_value_range
to panic. #2295(@fulmicoton)Field
in FilterCollector #2196(@PSeitz)Tantivy documents as a trait: Index data directly without converting to tantivy types first #2071(@ChillFish8)
encode some part of posting list as -1 instead of direct values (smaller inverted indices) #2185(@trinity-1686a)
Aggregation
Add ExistsQuery to check documents that have a value #2160(@imotov)
Expose TopDocs::order_by_u64_field again #2282(@ditsuke)
Memory/Performance
QueryParser
Add shared search executor #2312(@MochiXu)
Truncate keys to u16::MAX in term hashmap #2299(@PSeitz)
report if a term matched when warming up posting list #2309(@trinity-1686a)
Support json fields in FuzzyTermQuery #2173(@PingXia-at)
Read list of fields encoded in term dictionary for JSON fields #2184(@PSeitz)
add collect_block to BoxableSegmentCollector #2331(@PSeitz)
expose collect_block buffer size #2326(@PSeitz)
Forward regex parser errors #2288(@adamreichold)
Make FacetCounts defaultable and cloneable. #2322(@adamreichold)
Derive Debug for SchemaBuilder #2254(@GodTamIt)
add missing inlines to tantivy options #2245(@PSeitz)
Full Changelog: https://github.com/quickwit-oss/tantivy/compare/0.21...v0.22.0
Published by PSeitz about 1 year ago
FacetCollector
. #2086(@adamreichold)Full Changelog: https://github.com/quickwit-oss/tantivy/compare/0.20.2...0.21
Published by PSeitz over 1 year ago
Published by PSeitz over 1 year ago
coerce
option for text and numbers types (convert the value instead of returning an error during indexing) #1904 (@PSeitz)date_histogram
aggregation (only fixed_interval
for now) #1900 (@PSeitz)percentiles
aggregations #1984 (@PSeitz)quickwit
to send intermediate results) #1992 (@PSeitz)Searcher
with disabled scoring via EnableScoring::Disabled
#1780 (@shikhar)DatePrecision
to DateTimePrecision
#2051 (@guilload)Full Changelog: https://github.com/quickwit-oss/tantivy/blob/main/CHANGELOG.md
Published by PSeitz over 1 year ago
Fixes an issue in the skip list deserialization, which deserialized the byte start offset incorrectly as u32.
get_doc
will fail for any docs that live in a block with start offset larger than u32::MAX (~4GB).
Causes index corruption, if a segment with a doc store file larger 4GB is merged. (@PSeitz)
Published by PSeitz almost 2 years ago
Hotfix on handling user input for get_docid_for_value_range (@PSeitz)
Published by PSeitz almost 2 years ago
IN
in queryparser , e.g. field: IN [val1 val2 val3]
#1683 (@trinity-1686a)get_val(u32)
) #1644 (@PSeitz)DateTime
type has been updated to hold timestamps with microseconds precision.DateOptions
and DatePrecision
have been added to configure Date fields. The precision is used to hint on fast values compression. Otherwise, seconds precision is used everywhere else (i.e terms, indexing) #1396 (@evanxg852000)Searcher
cloneable. (@PSeitz)tantivy::TantivyError
cloneable #1402 (@PSeitz)Full Changelog: https://github.com/quickwit-oss/tantivy/compare/0.18...0.19
Published by fulmicoton almost 2 years ago
Published by fulmicoton over 2 years ago
Published by fulmicoton over 2 years ago
Published by fulmicoton about 3 years ago
Major Bugfix on multivalued fastfield. #1151
Published by fulmicoton over 3 years ago
Published by fulmicoton over 3 years ago
Published by fulmicoton over 3 years ago
Published by fulmicoton over 3 years ago
FileSlice
, OwnedBytes
, Snippets
, ...)Published by fulmicoton over 3 years ago
failure
crate to thiserror
#760. (@hirevo)Schema::Value
now returns an Option instead of panicking if the type does not match.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.Query::explain
notify
#924. Replaced with FileWatcher
struct that polls meta file every 500ms in background thread. (@halvorboe @guilload)FilterCollector
, which wraps another collector and filters docs using a predicate over a fast field (@barrotsteindev)FilterCollector
now supports all Fast Field value types (@barrotsteindev)This version breaks compatibility and requires users to reindex everything.
Published by fulmicoton almost 4 years ago
Minor Bugfix. Avoid relying on serde's reexport of PhantomData. (#975)
Published by fulmicoton about 4 years ago
HotFix. Acquiring a facet reader on a segment that does not contain any
doc with this facet returns None
. (#896)
Published by fulmicoton about 4 years ago
Made Query
and Collector
Send + Sync
.
Updated misc dependency versions.
Published by fulmicoton about 4 years ago
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.
FuzzyTermQuery
not matching terms by prefix when it should (@Peachball)MMapDirectory::open
does not return a Result
anymore..advance()
returns the new DocId. Scorer::skip(target)
has been replaced by Scorer::seek(target)
and returns the resulting DocId.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.
Scorer::for_each_pruning
function. (@fulmicoton)