• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

blevesearch / bleve
52%

Build:
DEFAULT BRANCH: master
Repo Added 17 Apr 2014 11:39PM UTC
Files 429
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH master
branch: SELECT
CHANGE BRANCH
x
  • No branch selected
  • BQMain
  • HEAD
  • MB-65018
  • MB-71114-knn-doc-score-explanation-fix
  • MB-71967-search-field-override-fix
  • MB-71968
  • ajroetker/add-dynamic-index-templates
  • ajroetker/add-more-complex-aggregation-support
  • ajroetker/add-result-deduplication-aka-collapsing
  • alice
  • backport_MB-37392
  • backport_json_tags
  • backport_merger_fix
  • backport_polygon1
  • backport_polygon_changes
  • batchFlush
  • blas
  • bolt
  • boltLeak
  • bugFix
  • cacheRootCount
  • close_err
  • commitProtocol
  • compaction_bytes_stats
  • conditional_snappy
  • config_fix
  • cosineFix
  • coveralls
  • cq
  • ctl-timeout-test
  • custom-query-error-propagation
  • custom_expl
  • cut_snappy_calls
  • defensiveChecks
  • dependabot/go_modules/golang.org/x/net-0.55.0
  • deps
  • dev
  • doc-260
  • docnum_missing_fix
  • docs
  • drop
  • encryptTrainedIndex
  • error_fuzzy
  • faissUP
  • fallbackPath
  • fastbivf
  • fastmerge
  • fileCallbacks
  • fileTransfer
  • filterFix
  • firestorm
  • fix-2362-bare-slash-query
  • fixes
  • fmdoc
  • funcFix
  • geo
  • geoPerf
  • geopoint_docvalues
  • goModUp
  • gofmt
  • govariant_removal
  • gpu
  • gpu-logging
  • gpu-stats
  • gpuDoc
  • indexAPI
  • indexExhaust
  • knnDup
  • loadchunk_minor
  • mad-hatter-release
  • master
  • master-geopoint
  • max_segment_size
  • mb70770
  • mergePlan
  • metareader
  • minor_docvalue_space_savings
  • minor_fixes
  • mod
  • multisearch-fix
  • nested
  • nestedDocSize
  • new_lev
  • newlev_adoption
  • nullIssue
  • numsnapshots_config
  • open_fix
  • parMerge
  • perf
  • perf-fuzzy-regexp-opts
  • perf-standalone-opts
  • perfGar1
  • persister_fix
  • pre-bbolt-bugfix
  • repos
  • rollback
  • scorch
  • scorchStatsFix
  • simplifyFilter
  • single-disjunction-min
  • snap
  • temp
  • tfr_advance
  • trainingParams
  • travis_failure_fix
  • unit-tests
  • update
  • upgrade
  • v0.1.0
  • v0.2.0
  • v0.3.0
  • v0.4.0
  • v0.5.0
  • v0.6.0
  • v0.7.0
  • v0.8.0
  • v0.8.1
  • v0.8.2
  • v0.9.0
  • v1.0.5
  • vectorsmd
  • vellum_for_fuzzy_regex
  • vellum_sha
  • vendot
  • verUp
  • vet_fixes
  • vulcan
  • zapConfig
  • zapUP
  • zapUp
  • zap_version

24 Jul 2026 06:57PM UTC coverage: 52.323% (+0.02%) from 52.304%
30118928861

push

github

web-flow
MB-72489: fuzzy/regexp candidate-collection optimizations (#2382)

Split out from #2381 per review — the fuzzy/regexp candidate-collection
optimizations, as their own PR. No functional/API changes.

### Changes

- **Trim fuzzy candidate-collection overhead**
(`search/searcher/search_fuzzy.go`): skip the per-candidate dedup map
when the field has no synonyms (the dictionary iterator already yields
each term once; the map only exists to de-dup synonym terms), replace
the O(n²) `prefixTerm` rune-concat with a zero-alloc slice, and hoist
repeated `ctx.Value` lookups.
- **Omit postings-count read for fuzzy/regexp candidate collection**
(`index/scorch/snapshot_index*.go`): fuzzy/regexp collectors use only
the term + edit distance and discard `DictEntry.Count`, yet the segment
iterator read each candidate's postings list to compute it. A new opt-in
`AutomatonIteratorOmitCount` path skips that read, wired via a graceful
type-assertion fallback. `FieldDict`/`FieldDictPrefix`/`FieldDictRange`
still populate counts.

**Depends on** blevesearch/zapx#436 — the omit-count optimization
activates once the `zapx/v17` dependency is bumped to a release that
includes `AutomatonIteratorOmitCount`. Until then the wiring falls back
to the count-reading path (the wiring test skips), so this is safe to
merge independently.

### Benchmark

`BenchmarkFuzzyCandidateCollection` (scorch index, 1000 terms / 3000
docs, fuzziness-2 query matching 280 candidates), original → both
commits, Apple M4 Pro, count=12 via benchstat:

| | sec/op | B/op | allocs/op |
|---|---|---|---|
| micro-opts | −5.9% | −3.8% | −1.3% (988→975) |
| omit-count wiring | −9.7% | −1.1% | −29.1% (975→691) |
| **combined** | **−15.0%** | **−4.8%** | **−30.1%** (988→691) |

All p=0.000, n=12. Verified with the full fuzzy + synonym search suites
and `-race`.

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: Thejas-bhat <thejas.orkombu@couchbase.com>

19 of 50 new or added lines in 3 files covered. (38.0%)

9 existing lines in 3 files now uncovered.

19877 of 37989 relevant lines covered (52.32%)

0.59 hits per line

Relevant lines Covered
Build:
Build:
37989 RELEVANT LINES 19877 COVERED LINES
0.59 HITS PER LINE
Source Files on master
  • Tree
  • List 429
  • Changed 5
  • Source Changed 0
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
30118928861 master MB-72489: fuzzy/regexp candidate-collection optimizations (#2382) Split out from #2381 per review — the fuzzy/regexp candidate-collection optimizations, as their own PR. No functional/API changes. ### Changes - **Trim fuzzy candidate-collection... push 24 Jul 2026 06:58PM UTC web-flow github
52.32
30033837132 perf-fuzzy-regexp-opts cleanup the code, fix license Pull #2382 24 Jul 2026 04:46PM UTC Thejas-bhat github
52.28
30110258807 perf-fuzzy-regexp-opts go mod tidy Pull #2382 24 Jul 2026 04:46PM UTC Thejas-bhat github
52.34
29896019522 master MB-72489: standalone query hot-path optimizations (#2381) Five standalone performance optimizations on query hot paths, each independently benchmarked (Apple M4 Pro, benchstat). No functional/API changes. ### Changes - **Fast-path `prepareDocum... push 22 Jul 2026 06:13AM UTC web-flow github
52.3
29893435053 perf-standalone-opts naming changes Pull #2381 22 Jul 2026 05:20AM UTC Thejas-bhat github
52.29
29865583207 perf-standalone-opts code cleanup + review comments Pull #2381 21 Jul 2026 08:24PM UTC Thejas-bhat github
52.3
29865339033 perf-standalone-opts code cleanup + review comments Pull #2381 21 Jul 2026 08:21PM UTC Thejas-bhat github
52.3
29859678029 perf-standalone-opts code cleanup + review comments Pull #2381 21 Jul 2026 07:01PM UTC Thejas-bhat github
52.29
29585093159 perf-fuzzy-regexp-opts perf: omit postings-count read for fuzzy/regexp candidate collection Fuzzy and regexp candidate collection iterate the field dictionary via the levenshtein/regexp automaton and use only the term and edit distance — DictEntry.Count is discarded. T... Pull #2382 17 Jul 2026 01:44PM UTC capemox github
52.3
29585071608 perf-standalone-opts refactor: rename adjustDocumentMatch to adjustKNNDocumentMatch The method only adjusts a hit when a corresponding KNN hit exists (it is called solely from the knnHits != nil branches). Rename it to make that scope explicit, per review feedback. ... Pull #2381 17 Jul 2026 01:44PM UTC capemox github
52.3
See All Builds (3220)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc