Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

FTS code analyzer: analyzer="code" alone doesn't split identifiers, so searching user doesn't find getUserName

Open
#9,681 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 3 days

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Active
Tech stack
python, rust
Domain
databases, search

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:

  1. Default split_identifiers=True for the code analyzer.
  2. 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

Open in Codespaces

Starts the project's dev container in your browser, under your own GitHub account.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from lance-format/lance

All issues in lance-format/lance

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.