Is your feature request related to a problem?
The Lance library natively supports full-text search via dataset.scanner(full_text_query=...) when an INVERTED index is present, but daft-lance's read_lance() does not expose this parameter.
Users who build FTS indices through daft_lance.create_scalar_index(index_type="INVERTED") have no way to perform full-text queries through Daft's DataFrame API — they must drop down to lance.dataset().scanner() directly.
A TODO has been in lance_scan.py since this feature was first noted: # TODO support fts and fast_search. Vector search (nearest) already follows this pattern; FTS is the missing counterpart.
Describe the solution you'd like
Pass full_text_query through default_scan_options, following the same pattern as nearest (vector search):
df = daft.read_lance(
"s3://bucket/data/",
default_scan_options={"full_text_query": "daft"},
)
Additional Context
Would you like to implement a fix?
Yes
Is your feature request related to a problem?
The Lance library natively supports full-text search via
dataset.scanner(full_text_query=...)when an INVERTED index is present, but daft-lance'sread_lance()does not expose this parameter.Users who build FTS indices through
daft_lance.create_scalar_index(index_type="INVERTED")have no way to perform full-text queries through Daft's DataFrame API — they must drop down tolance.dataset().scanner()directly.A TODO has been in
lance_scan.pysince this feature was first noted:# TODO support fts and fast_search. Vector search (nearest) already follows this pattern; FTS is the missing counterpart.Describe the solution you'd like
Pass
full_text_querythroughdefault_scan_options, following the same pattern asnearest(vector search):Additional Context
Would you like to implement a fix?
Yes