Releases: blevesearch/bleve
Releases · blevesearch/bleve
v2.5.2
Bug Fixes
- Fix handling multiple geoshapes within a single field (blevesearch/zapx#331)
- Fix sorting over decoded geo metrics (#2198)
- Fix advance() corner case within optimized composite searchers (#2146)
- Address edge case in merge planning with concurrent persisters (#2200)
Milestone
v2.5.1
Bug Fixes
- Fix bolt snapshot when concurrent persister is in use (not ON by default), with #2178
- No partial failures allowed during "pre search" - applicable to synonyms, filtered vector search - #2179
- Ensuring latest snapshot is persisted within bolt to avoid any chance of data loss (in parlance with
num_snapshots_to_keep
, rollback support) - #2183, #2186 - Recalculation of bm25 metrics upon every request can cause slowness, fixed with #2180
- Fixes around a tracked "pre search metric",
knn
filter query validation and a bad situation with synonyms if legacy zap versions used, with #2188, #2191, #2192
Improvements
- Upgrade forked version of golang/geo in use for
geopoint
andgeoshape
data to the latest available - Enhanced geoshape support over:
- point/multipoint, blevesearch/geo#18
- linestring/multilineString, blevesearch/geo#19
- polygon/multipolygon, blevesearch/geo#20
- circle, blevesearch/geo#25
- envelope, blevesearch/geo#21
- Circles can be included within geometry collections with #2195, blevesearch/geo#27
Milestone
v2.5.0
Bug Fixes
- Exact hits to score higher than fuzzy hits, with #2056
- Fix boosting during hybrid search that involves text + nearest neighbor, with #2127
- Addressed bug in IP field handling while highlighting, with #2142
- Graceful error handling within registry, with #2151
http/
package (meant for demo purposes) removed from repository to remove vulnerability - CVE-2022-31022, relocated to within https://github.com/blevesearch/bleve-explorer- Geo radius queries will now advertise distances (within sort values) in readable format, with #2137
Improvements
- Vector search requires
faiss
dynamic library to be built from blevesearch/faiss@352484e which is a modified version of v1.10.0 - Support for BM25 scoring, see: scoring.md
- Support for synonyms' search, see: synonyms.md
- Significant performance improvements in pre-filtered vector search, with #2169 + dependent changes
auto
fuzziness detection with #2060- Ability to affect ingestion/drain rate by tuning persister workers with #2100
- Additional config in merge policy for improved merger behavior, with #2134
- Geo improvements: footprint reduction for polygons, better validation and graceful error handling, with #2162 + #2158 + #2165
- Upgrade to RoaringBitmap/roaring@v2.4.5, etcd.io/bbolt@v1.4.0
- More metrics
Milestone
v2.4.4
Bug Fixes
- Identified root cause for #1662 to be recycling of TermFieldReaders that was causing illegal/incorrect access of several in-memory structures in certain scenarios. We've gone ahead and disabled this feature with #2117 + #2121 . Will work towards re-enabling in the near future once we've ironed out the several associated wrinkles.
- Introduced a guard rail with blevesearch/zapx#282 while performing vector search queries with pre-filtering to avoid hitting a panic when qualified docs do not hold valid vector fields.
- Fixed an issue while applying
ivf_max_codes_pct
in vector search requests involving pre-filtering which can cause reduction in recall - blevesearch/go-faiss#40
Vector search continues to require same version of faiss
dynamic library (as with v2.4.3) to be built from blevesearch/faiss@b747c55a which is a modified version of v1.8.0
Milestone
v2.4.3
Bug Fixes
- Address a corner case with
ivf_nprobe_pct
query parameter (blevesearch/go-faiss#34) - Several guard rails put in place to avoid array-out-of-bounds-access and divide-by-zero errors: (blevesearch/zapx#263, blevesearch/zapx#270, blevesearch/zapx#271, blevesearch/zapx#273) to overcome #1662
- Handling early exits/optimization for boolean queries (#2065)
Improvements
- Vector search requires
faiss
dynamic library to be built from blevesearch/faiss@b747c55a which is a modified version of v1.8.0 - Support for cosine similarity distance metric to normalize vectors before indexing/querying for nearest neighbor search (#2051)
- Support for selectivity filters as a pre-cursor to vector search (#2063)
Milestone
v2.4.2
Bug Fixes
- Set
MaxSegmentFileSize
for force merge whenSingleSegmentMergePlanOptions
goes into use (#2050) - Protect code against any bolt failures (#2043)
- Fix size estimation for various field types (#2052)
- Address an out-of-bounds panic that could occur with zapx/v16 in the event of a single non-vector field (#2058)
Improvements
- Support new search params for vector search queries - [
ivf_probe_pct
,ivf_max_codes_pct
] (#2049)
Milestone
v2.4.1
Bug Fixes
- Addressed a bug where
ClientContextID
was missing from SearchRequest when library used withvectors
(#2014) - Fix to a memory leak in vector query path (#2023)
- Fix to issue #2027, error in parsing a certain datetime syntax (#2030)
- Fix that mitigates a race between persister's stale segment removal and index copy operations (#2032)
- Nested field mapping determination was broken (#2031)
Improvements
- Vector search requires the faiss dynamic library to be built from blevesearch/faiss@d9db66a
- Support for new data type -
vector_base64
which allows for interpreting vector float32s encoded as base64 following littleEndian byte ordering (#2012) - Vector dimensionality support up to 4096 from 2048 (#2015)
- New vector index optimization -
memory_efficient
alongside pre-existingrecall
andlatency
(#2040) - Better resource usage and efficiency in vector indexing (blevesearch/zapx#241, blevesearch/zapx#234)
- Delayed releasing of deserialized vector indexes to support better query throughput (#2016)
Milestone
v2.4.0
Bug Fixes
- Fixes to spanish accents normalization (#1957)
- Critical fix around facets merging which could've caused inconsistent results (#1946)
Improvements
- Support for vectors indexing and search
- Please read: vectors.md for more details
- With this we will now default to a new zap format: v16, which co-locates text and vector indexes within scorch segments. v16 will be able to interpret v15 zap segments.
- Requires the faiss dynamic library to be built from blevesearch/faiss@7b119f4
- An empty
query
attribute within aSearchRequest
will now be interpreted as amatch_none
(#2000)
Milestone
v2.3.10
Bug Fixes
- Fix format of date times displayed in search result, to not drop precision (#1868)
Improvements
- Upgraded to
golang.org/x/text@v0.8.0
to overcome a vulnerability (#1845) - Support for polish language analyzer -
pl
(#1825) - Additional attribute in search response to determine partial/complete hits for match queries (#1848)
- Performance optimization to speed up documents processing per mapping definition (#1865)
- Support fuzziness factor for matchphrase, multiphrase & phrase queries (#1847)
- Geo shape polygon decode optimization w/ buffer re-use (#1864)
- Override-able Marshal/Unmarshal methods (#1880)
- Enhanced data time format support:
sanitizedgo
that validates layout against supported golang constants (#1877)- Ability to apply custom datetime parsers to query criteria and facets (#1860, #1878)
- Ability to parse date times in these formats -
unix_micro
,unix_sec
,unix_milli
,unix_nano
(#1870) - Additional layouts support with
percentstyle
andisostyle
(#1866)
Milestone
v2.3.9
Bug Fixes
- Fixes along recording IO bytes read for different query types (#1829)
- Also changes the attribute name in the
SearchResult
construct frombytesRead
tocost
- Also changes the attribute name in the
- Fix incorrect facet counts when facetted queries are coupled with sorting over the same field (#1836)
Improvements
- Upgrade to RoaringBitmap/roaring@v1.2.3 (#1822)
- Upgrade to etcd-io/bblot@v1.3.7 (#1824)
- Consolidated some redundant work in a hot index path with #1832 which showed index time speed up by about 30% in certain situations especially while working with large documents.
- Upgrade to vellum@v1.0.10 which contains a minor optimization (#1838)