Hi, looking for any better way for getting unique results based on property. So far I am using this combined calls
def search_similar_authors_ids_by_image_data(image_data_bytes, limit=2):
weaviate_client = weaviate.connect_to_local() # Connect with default parameters
artworks = weaviate_client.collections.get("Artworks")
image_data_base64 = base64.b64encode(image_data_bytes).decode('utf-8')
responses = []
filters = None
for _ in range(limit):
response = artworks.query.near_image(
near_image=image_data_base64,
limit=1,
filters=filters,
return_metadata=MetadataQuery(distance=True)
)
if response.objects:
responses.append(response.objects[0])
author_psql_id = response.objects[0].properties['author_psql_id']
new_filter = Filter.by_property("author_psql_id").not_equal(author_psql_id)
if filters is None:
filters = new_filter
else:
filters = filters & new_filter
weaviate_client.close()
return responses