feat: timed field-index creation; bfb create-field-index / drop-field-index#156
Closed
tellet-q wants to merge 2 commits into
Closed
feat: timed field-index creation; bfb create-field-index / drop-field-index#156tellet-q wants to merge 2 commits into
bfb create-field-index / drop-field-index#156tellet-q wants to merge 2 commits into
Conversation
tellet-q
force-pushed
the
feat/timed-field-index-creation
branch
from
July 16, 2026 06:48
c768fd5 to
883eef8
Compare
Contributor
There was a problem hiding this comment.
Pull request overview
This PR adds CLI support to create and drop payload field indices after uploading data, capturing per-field wall-clock/server timings and recording them in the JSON results. It also adjusts the results schema so phase-only commands don’t emit a misleading default config.num_vectors, and refactors field-index creation into reusable “spec” builders for both CLI- and YAML-config-driven collection setup.
Changes:
- Add
bfb create-field-index/bfb drop-field-indexcommands and emit per-field timings underresults.create_field_index. - Refactor field-index request construction into pure spec builders and centralize timed creation/drop logic in
collection. - Make
config.num_vectorsoptional and omitted for phase-only commands; update JSON-related tests and docs accordingly.
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| src/results.rs | Adds create_field_index results phase + per-field timing structs; makes config.num_vectors optional and updates tests. |
| src/main.rs | Wires new subcommands, runs field-index creation with timing + optional index/memory follow-up, and passes num_vectors into results. |
| src/collection/mod.rs | Implements timed create_field_indices, drop_field_indices, and improves wait_index robustness/progress output. |
| src/collection/from_config.rs | Exposes field_index_specs_from_config (pure) and reuses the shared timed creation function. |
| src/collection/from_args.rs | Builds field-index specs from CLI flags (pure) and reuses the shared timed creation function. |
| src/args/mod.rs | Adds clap subcommands/args for create-field-index and drop-field-index. |
| src/optimizations.rs | Updates comments/tests to reflect field-index-triggered optimizer work attribution. |
| README.md | Documents the new commands and clarifies JSON output semantics (one wording issue noted). |
| DEVELOPMENT.md | Updates module description to include timed field-index creation. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
tellet-q
force-pushed
the
feat/memory-reporting
branch
from
July 16, 2026 08:03
3412d4a to
13a555e
Compare
tellet-q
force-pushed
the
feat/timed-field-index-creation
branch
from
July 16, 2026 08:05
883eef8 to
3af4fda
Compare
…eld-index` Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
tellet-q
force-pushed
the
feat/memory-reporting
branch
from
July 16, 2026 08:18
13a555e to
f398de7
Compare
tellet-q
force-pushed
the
feat/timed-field-index-creation
branch
from
July 16, 2026 08:18
9ce4163 to
2e2e98a
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Note: base is not dev! Only merge after #158
Add a dedicated sub-command to create payload indices and time the build:
Each index is created with wait=true, so elapsed time reflects the build, not the round-trip. Indices build sequentially, so Total is the cross-run number; to attribute cost to one field, build it alone and re-measure on the same data with the companion drop-field-index:
Per-field timings land under results.create_field_index. config.num_vectors is now Option — omitted for phase-only commands that neither upload nor query.