1
0
mirror of https://github.com/tensorchord/pgvecto.rs.git synced 2025-07-29 08:21:12 +03:00

feat: enhance the __init__ of client (#164)

* enhance the __init__ of client

Signed-off-by: 盐粒 Yanli <mail@yanli.one>

* bump version

Signed-off-by: 盐粒 Yanli <mail@yanli.one>

---------

Signed-off-by: 盐粒 Yanli <mail@yanli.one>
This commit is contained in:
盐粒 Yanli
2023-11-23 15:32:07 +08:00
committed by GitHub
parent eafb2f66f2
commit 20b6e0081f
4 changed files with 45 additions and 52 deletions

View File

@ -34,43 +34,41 @@ client = PGVectoRs(
db_url=URL,
collection_name="example",
dimension=1536,
recreate=True,
)
try:
# Add some records
client.insert(records1)
client.insert(records2)
# Add some records
client.insert(records1)
client.insert(records2)
# Query (With a filter from the filters module)
print("#################### First Query ####################")
for record, dis in client.search(
target,
filter=filters.meta_contains({"src": "one"}),
):
print(f"DISTANCE SCORE: {dis}")
print(record)
# Query (With a filter from the filters module)
print("#################### First Query ####################")
for record, dis in client.search(
target,
filter=filters.meta_contains({"src": "one"}),
):
print(f"DISTANCE SCORE: {dis}")
print(record)
# Another Query (Equivalent to the first one, but with a lambda filter written by hand)
print("#################### Second Query ####################")
for record, dis in client.search(
target,
filter=lambda r: r.meta.contains({"src": "one"}),
):
print(f"DISTANCE SCORE: {dis}")
print(record)
# Another Query (Equivalent to the first one, but with a lambda filter written by hand)
print("#################### Second Query ####################")
for record, dis in client.search(
target,
filter=lambda r: r.meta.contains({"src": "one"}),
):
print(f"DISTANCE SCORE: {dis}")
print(record)
# Yet Another Query (With a more complex filter)
print("#################### Third Query ####################")
# Yet Another Query (With a more complex filter)
print("#################### Third Query ####################")
def complex_filter(r: filters.FilterInput) -> filters.FilterOutput:
t1 = r.text.endswith("!") == False # noqa: E712
t2 = r.meta.contains({"src": "two"})
t = t1 & t2
return t
for record, dis in client.search(target, filter=complex_filter):
print(f"DISTANCE SCORE: {dis}")
print(record)
def complex_filter(r: filters.FilterInput) -> filters.FilterOutput:
t1 = r.text.endswith("!") == False # noqa: E712
t2 = r.meta.contains({"src": "two"})
t = t1 & t2
return t
finally:
# Clean up
client.drop()
for record, dis in client.search(target, filter=complex_filter):
print(f"DISTANCE SCORE: {dis}")
print(record)