FTS code analyzer: analyzer="code" alone doesn't split identifiers, so searching user doesn't find getUserName
Maintainers usually reply within 3 days
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
Research direction
Start with InvertedIndexParams::code() in src/lance/rust/lance-index/src/scalar/tokenizer.rs:679-689 and the existing test at src/lance/python/python/tests/test_scalar_index.py:895. Review #7195 and #7681, then bring the default-versus-opt-in decision to the team; done means the chosen behavior is implemented or prominently documented, with the test expectations updated accordingly.
Written by the indexing model from the issue text.
Description
Bug bash: Needs team input — design question
Bug bash priority: Medium · critical-fix: no
From the FTS for Code bug bash (2026-10-01), findings: prework-4.md. Repros ran against released artifacts (pylance 12.0.0 / 13.0.0b18, lancedb 0.39.0 / 0.40.0b12, @lancedb/lancedb 0.40.0-beta.12) unless stated. $S is the bug bash scratch dir.
Decision needed: the default for split_identifiers in the code profile. #7195 calls identifier splitting the core gap, but #7681 ships it opt-in (with a test asserting that).
Options:
- Default
split_identifiers=Truefor the code analyzer. - Keep it opt-in and document it prominently.
Recommendation: 1, but the original designers should weigh in.
- Category: feature gap (design question)
- Environment: pylance local, Linux arm64
- Artifacts: pylance 12.0.0 and 13.0.0b18
- Target tracker: GitHub
lance-format/lance
Repro
Script: $S/pw_repro.py (venv-pre). $S=$S
pylance {'analyzer': 'code'}: 'user' -> 0 rows
pylance {'analyzer': 'code', 'split_identifiers': True}: 'user' -> 1 rows
With the default code profile, user, parse, xml, http find fewer rows than the default text analyzer ($S/smoke_local_pre.out). split_on_numerics=True and preserve_original=True are persisted but inert while splitting is off.
Expected behavior
Unclear. lance#7195 names identifier splitting "the core gap"; the PR ships it opt-in, and a test asserts it (test_code_analyzer_does_not_split_identifiers_by_default, src/lance/python/python/tests/test_scalar_index.py:895).
Suspected root cause
Intentional default in InvertedIndexParams::code() (src/lance/rust/lance-index/src/scalar/inverted/tokenizer.rs:679-689). Undocumented.
Fix direction
Team decision: flip the default, or document it prominently. Will is bringing this to the team.
- Dominant language
- Rust
- Stars
- 7.2k
- Forks
- 900
- Avg merge
- 4d 22h
- Merged PRs (30d)
- 366
Getting set up
Starts the project's dev container in your browser, under your own GitHub account.
- Ships a Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from lance-format/lance
-
documentation
Difficulty 1/5 Under an hour Newbie friendliness 78/100
lance-format/lance#10225 ·
Maintainers usually reply within 3 days
-
feature performance
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
lance-format/lance#10137 ·
Maintainers usually reply within 3 days
-
After initialize_mem_wal, every FTS query logs "ERROR Index __lance_mem_wal has no fields"Possibly taken @lance-gatefixer claimed this 23 days ago. Openbug
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
lance-format/lance#9655 ·
Maintainers usually reply within 3 days
-
Upgrade DataFusion for the unparser stack-overflow fixMay be free again A pull request for this issue was closed without being merged. Open
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
lance-format/lance#8225 ·
Maintainers usually reply within 3 days
-
enhancement
Difficulty 1/5 Under an hour Newbie friendliness 84/100
lance-format/lance#6425 · 2 comments ·
Maintainers usually reply within 3 days
All issues in lance-format/lance
Similar issues
-
Small glitchOpenpriority: medium
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
storytold/photocraft#9538 ·
Maintainers usually reply within 1 day
-
bug P2 rust
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
jscott3201/rusty-bacnet#2085 ·
Maintainers usually reply within 1 day
-
area:tag area:tag---json---markdown--n bug factory:dogfood factory:triaged persona:scripter platform:linux-cloud priority:p3 type:bug
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
gitbutlerapp/grit#1940 · 1 comment ·
Maintainers usually reply within 1 day
-
Inconsistent case in names for Windows installation packages compared to all other assetsPossibly taken A pull request linked to this issue is open or already merged. Openarea:ui bug in progress needs-triage
Difficulty 1/5 Under an hour Newbie friendliness 65/100
bherbruck/solvecraft#6769 · 2 comments ·