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.
Parent: #3401
Summary
Python FTS index creation currently rejects field names containing
., which prevents valid Lance nested field paths such aspayload.text.Scope
Acceptance criteria
create_fts_index("payload.text")succeeds for a nested string field.match,phrase, and hybrid search can target the nested text field.