mirror of
https://github.com/lancedb/lancedb.git
synced 2026-08-18 12:08:35 +00:00
fix(python): type structured searches as fts
This commit is contained in:
@@ -1375,7 +1375,7 @@ class Table(ABC):
|
||||
self,
|
||||
query: FullTextQuery,
|
||||
vector_column_name: Optional[str] = None,
|
||||
query_type: Literal["auto"] = "auto",
|
||||
query_type: QueryType = "auto",
|
||||
ordering_field_name: Optional[str] = None,
|
||||
fts_columns: Optional[Union[str, List[str]]] = None,
|
||||
) -> LanceFtsQueryBuilder: ...
|
||||
@@ -1413,9 +1413,7 @@ class Table(ABC):
|
||||
@overload
|
||||
def search(
|
||||
self,
|
||||
query: Optional[
|
||||
Union[VEC, str, "PIL.Image.Image", Tuple, FullTextQuery]
|
||||
] = None,
|
||||
query: Optional[Union[VEC, str, "PIL.Image.Image", Tuple]] = None,
|
||||
vector_column_name: Optional[str] = None,
|
||||
query_type: Literal["hybrid"] = "hybrid",
|
||||
ordering_field_name: Optional[str] = None,
|
||||
@@ -1425,9 +1423,7 @@ class Table(ABC):
|
||||
@overload
|
||||
def search(
|
||||
self,
|
||||
query: Optional[
|
||||
Union[VEC, str, "PIL.Image.Image", Tuple, FullTextQuery]
|
||||
] = None,
|
||||
query: Optional[Union[VEC, str, "PIL.Image.Image", Tuple]] = None,
|
||||
vector_column_name: Optional[str] = None,
|
||||
query_type: QueryType = "auto",
|
||||
ordering_field_name: Optional[str] = None,
|
||||
@@ -3492,7 +3488,7 @@ class LanceTable(Table):
|
||||
self,
|
||||
query: FullTextQuery,
|
||||
vector_column_name: Optional[str] = None,
|
||||
query_type: Literal["auto"] = "auto",
|
||||
query_type: QueryType = "auto",
|
||||
ordering_field_name: Optional[str] = None,
|
||||
fts_columns: Optional[Union[str, List[str]]] = None,
|
||||
) -> LanceFtsQueryBuilder: ...
|
||||
@@ -3530,9 +3526,7 @@ class LanceTable(Table):
|
||||
@overload
|
||||
def search(
|
||||
self,
|
||||
query: Optional[
|
||||
Union[VEC, str, "PIL.Image.Image", Tuple, FullTextQuery]
|
||||
] = None,
|
||||
query: Optional[Union[VEC, str, "PIL.Image.Image", Tuple]] = None,
|
||||
vector_column_name: Optional[str] = None,
|
||||
query_type: Literal["hybrid"] = "hybrid",
|
||||
ordering_field_name: Optional[str] = None,
|
||||
@@ -3542,9 +3536,7 @@ class LanceTable(Table):
|
||||
@overload
|
||||
def search(
|
||||
self,
|
||||
query: Optional[
|
||||
Union[VEC, str, "PIL.Image.Image", Tuple, FullTextQuery]
|
||||
] = None,
|
||||
query: Optional[Union[VEC, str, "PIL.Image.Image", Tuple]] = None,
|
||||
vector_column_name: Optional[str] = None,
|
||||
query_type: QueryType = "auto",
|
||||
ordering_field_name: Optional[str] = None,
|
||||
|
||||
@@ -5,15 +5,22 @@ from typing import assert_type
|
||||
|
||||
from lancedb.db import DBConnection
|
||||
from lancedb.query import (
|
||||
FullTextQuery,
|
||||
LanceEmptyQueryBuilder,
|
||||
LanceFtsQueryBuilder,
|
||||
LanceHybridQueryBuilder,
|
||||
LanceVectorQueryBuilder,
|
||||
)
|
||||
from lancedb.table import LanceTable
|
||||
from lancedb.types import QueryType
|
||||
|
||||
|
||||
def check_table_search_types(connection: DBConnection, lance_table: LanceTable) -> None:
|
||||
def check_table_search_types(
|
||||
connection: DBConnection,
|
||||
lance_table: LanceTable,
|
||||
full_text_query: FullTextQuery,
|
||||
query_type: QueryType,
|
||||
) -> None:
|
||||
table = connection.open_table("table")
|
||||
|
||||
assert_type(table.search(), LanceEmptyQueryBuilder)
|
||||
@@ -33,3 +40,36 @@ def check_table_search_types(connection: DBConnection, lance_table: LanceTable)
|
||||
lance_table.search("query"),
|
||||
LanceFtsQueryBuilder | LanceVectorQueryBuilder,
|
||||
)
|
||||
|
||||
assert_type(table.search(full_text_query), LanceFtsQueryBuilder)
|
||||
assert_type(table.search(full_text_query, query_type="auto"), LanceFtsQueryBuilder)
|
||||
assert_type(
|
||||
table.search(full_text_query, query_type="vector"), LanceFtsQueryBuilder
|
||||
)
|
||||
assert_type(table.search(full_text_query, query_type="fts"), LanceFtsQueryBuilder)
|
||||
assert_type(
|
||||
table.search(full_text_query, query_type="hybrid"), LanceFtsQueryBuilder
|
||||
)
|
||||
assert_type(
|
||||
table.search(full_text_query, query_type=query_type), LanceFtsQueryBuilder
|
||||
)
|
||||
|
||||
assert_type(lance_table.search(full_text_query), LanceFtsQueryBuilder)
|
||||
assert_type(
|
||||
lance_table.search(full_text_query, query_type="auto"), LanceFtsQueryBuilder
|
||||
)
|
||||
assert_type(
|
||||
lance_table.search(full_text_query, query_type="vector"),
|
||||
LanceFtsQueryBuilder,
|
||||
)
|
||||
assert_type(
|
||||
lance_table.search(full_text_query, query_type="fts"), LanceFtsQueryBuilder
|
||||
)
|
||||
assert_type(
|
||||
lance_table.search(full_text_query, query_type="hybrid"),
|
||||
LanceFtsQueryBuilder,
|
||||
)
|
||||
assert_type(
|
||||
lance_table.search(full_text_query, query_type=query_type),
|
||||
LanceFtsQueryBuilder,
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user