Skip to content

Support nested fields in Python FTS index APIs #3404

Description

@Xuanwo

Parent: #3401

Summary

Python FTS index creation currently rejects field names containing ., which prevents valid Lance nested field paths such as payload.text.

Scope

  • Replace the top-level-only Python FTS guard with Lance field path validation.
  • Support nested text fields in sync and async Python FTS APIs.
  • Cover match, phrase, and hybrid search on a nested text field.
  • Keep clear errors for unsupported list/struct shapes that are not valid text leaves.

Acceptance criteria

  • create_fts_index("payload.text") succeeds for a nested string field.
  • match, phrase, and hybrid search can target the nested text field.
  • Existing negative tests are updated to reject only invalid field paths or invalid field types.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions