Unul dintre principalele atuuri ale Weaviate este capacitatea de a executa filtrare nativă în timpul parcurgerii grafului vectorial (single-stage filtering), evitând problemele de sub-filtrare (post-filtering) sau scădere a calității aproximării vectoriale întâlnite în motoarele naive.
Exemplu de interogare semantică combinată cu filtre compuse pe bază de metadate:
from weaviate.classes.query import Filter, MetadataQuery
articles = client.collections.get("Documentatie")
# Căutare semantică restricționată de filtre logice
response = articles.query.near_text(
query="arhitectură microservicii și securitate",
limit=5,
filters=Filter.by_property("departament").equal("Inginerie") &
Filter.by_property("creat_la").greater_than("2024-01-01T00:00:00Z"),
return_metadata=MetadataQuery(distance=True, score=True)
)
for obj in response.objects:
print(f"[{obj.metadata.distance:.4f}] {obj.properties['titlu']}")
Filtrarea compusă evaluează concomitent măștile de biți ale indexului inversat și lista de vecini din graful HNSW, garantând returnarea strict a înregistrărilor conforme fără a compromite recall-ul vectorial.
Întrebări & Exemple practice:
Weaviate: Filtrare Avansată și Căutare StructuratăAi o întrebare despre Weaviate: Filtrare Avansată și Căutare Structurată sau ai descoperit un truc, prompt sau fragment de cod util? Distribuie-l cu ceilalți membri ai comunității!
Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau resurse pentru această pagină. Dacă ai testat un prompt sau ai un snippet util, adaugă-l mai jos pentru comunitate.