[{"data":1,"prerenderedAt":914},["ShallowReactive",2],{"blog-pgvector-vs-vector-databases-hu":3},{"slug":4,"published":5,"minutes":6,"category":7,"tags":8,"keywords":14,"about":25,"sources":35,"cover":87,"og":88,"expertise":89,"locales":90,"lang":93,"title":94,"description":95,"coverAlt":96,"metaTitle":97,"takeaways":98,"faq":104,"toc":123,"blocks":160,"others":637},"pgvector-vs-vector-databases","2026-10-02",13,"rag",[9,10,11,12,13],"pgvector","Vector databases","RAG","Hybrid search","EU hosting",[15,16,17,18,19,20,21,22,23,24],"pgvector vs vector database","pgvector vs Qdrant","pgvector vs Pinecone","best vector database 2026","pgvector HNSW iterative scan","pgvector halfvec","OpenSearch vs Elasticsearch vector search","vector database EU hosting","hybrid search Postgres","Weaviate vs Milvus",[26,29,32],{"name":27,"url":28},"Vector database","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FVector_database",{"name":30,"url":31},"PostgreSQL","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPostgreSQL",{"name":33,"url":34},"Retrieval-augmented generation","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FRetrieval-augmented_generation",[36,39,42,45,48,51,54,57,60,63,66,69,72,75,78,81,84],{"title":37,"url":38},"pgvector README (index limits, HNSW defaults, iterative scans, filtering, halfvec)","https:\u002F\u002Fgithub.com\u002Fpgvector\u002Fpgvector\u002Fblob\u002Fmaster\u002FREADME.md",{"title":40,"url":41},"pgvector CHANGELOG (0.4.0 to 0.8.7)","https:\u002F\u002Fgithub.com\u002Fpgvector\u002Fpgvector\u002Fblob\u002Fmaster\u002FCHANGELOG.md",{"title":43,"url":44},"pgvectorscale: StreamingDiskANN, statistical binary quantization, filtered search","https:\u002F\u002Fgithub.com\u002Ftimescale\u002Fpgvectorscale",{"title":46,"url":47},"Qdrant documentation: Filtering","https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fconcepts\u002Ffiltering\u002F",{"title":49,"url":50},"Qdrant documentation: Hybrid queries","https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fconcepts\u002Fhybrid-queries\u002F",{"title":52,"url":53},"Qdrant documentation: Create a cluster (providers, free tier, Hybrid Cloud)","https:\u002F\u002Fqdrant.tech\u002Fdocumentation\u002Fcloud\u002Fcreate-cluster\u002F",{"title":55,"url":56},"Weaviate documentation: Hybrid search","https:\u002F\u002Fdocs.weaviate.io\u002Fweaviate\u002Fconcepts\u002Fsearch\u002Fhybrid-search",{"title":58,"url":59},"Weaviate documentation: Vector index types","https:\u002F\u002Fdocs.weaviate.io\u002Fweaviate\u002Fconcepts\u002Fvector-index",{"title":61,"url":62},"Weaviate Cloud pricing and deployment options","https:\u002F\u002Fweaviate.io\u002Fpricing",{"title":64,"url":65},"Milvus documentation: Overview","https:\u002F\u002Fmilvus.io\u002Fdocs\u002Foverview.md",{"title":67,"url":68},"Pinecone documentation: Database architecture","https:\u002F\u002Fdocs.pinecone.io\u002Fguides\u002Fget-started\u002Fdatabase-architecture",{"title":70,"url":71},"Pinecone documentation: Create an index (clouds, regions, sparse and hybrid)","https:\u002F\u002Fdocs.pinecone.io\u002Fguides\u002Findex-data\u002Fcreate-an-index",{"title":73,"url":74},"OpenSearch documentation: Methods and engines","https:\u002F\u002Fdocs.opensearch.org\u002Flatest\u002Fmappings\u002Fsupported-field-types\u002Fknn-methods-engines\u002F",{"title":76,"url":77},"OpenSearch documentation: Efficient k-NN filtering","https:\u002F\u002Fdocs.opensearch.org\u002Flatest\u002Fvector-search\u002Ffilter-search-knn\u002Fefficient-knn-filtering\u002F",{"title":79,"url":80},"Elasticsearch documentation: Dense vector search","https:\u002F\u002Fwww.elastic.co\u002Fdocs\u002Fsolutions\u002Fsearch\u002Fvector\u002Fdense-vector",{"title":82,"url":83},"Elasticsearch documentation: kNN query (filter as pre-filter)","https:\u002F\u002Fwww.elastic.co\u002Fdocs\u002Freference\u002Fquery-languages\u002Fquery-dsl\u002Fquery-dsl-knn-query",{"title":85,"url":86},"GitHub releases: Qdrant, Weaviate, Milvus, OpenSearch, pgvectorscale (versions as of 1 October 2026)","https:\u002F\u002Fgithub.com\u002Fqdrant\u002Fqdrant\u002Freleases","\u002Fimages\u002Fblog\u002Fpgvector-vs-vector-databases\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fpgvector-vs-vector-databases\u002Fog.jpg","ai-engineer",[91,92,93],"en","de","hu","pgvector vagy vektoradatbázis? Így válassz vektortárolót 2026-ban","pgvector, Qdrant, Weaviate, Milvus, Pinecone, OpenSearch vagy Elasticsearch? Gyakorlati útmutató 2026-ra: szűrés, hibrid keresés, skálázás, költség és EU-s hosztolás.","Ábra: döntési út az adataidtól a Postgres-beli pgvectorig, a vektormezős keresőmotorig vagy a dedikált vektoradatbázisig.","pgvector vs. vektoradatbázis 2026 · Balázs Csorba",[99,100,101,102,103],"Ott kezdj, ahol az adataid már vannak: ha a rekordjaid Postgresben élnek, a pgvector HNSW-vel, halfvec-kel és iteratív szkennelésekkel a legtöbb RAG-terhelést lefedi, második rendszer üzemeltetése nélkül.","A szűrés többet számít a nyers sebességnél. Teszteld a valódi szűrőidet, mert egy közelítő indexszkennelés után alkalmazott szűrő túl kevés találatot adhat.","A memória az a skálázási küszöb, amit ki tudsz számolni: egy 1536 dimenziós float32 vektor 6144 bájt az indexköltség előtt, a halfvec ezt felezi.","Ha már üzemeltetsz OpenSearch-öt vagy Elasticsearch-öt kulcsszavas kereséshez, a vektormezők hozzáadása gyakran olcsóbb, mint új adatbázist bevezetni.","Dedikált vektoradatbázist akkor válassz, ha a vektorok maga a termék: nagyon nagy korpusz, sok bérlő vagy a keresést saját csapat viszi. Aláírás előtt ellenőrizd az EU-s régiókat és az üzemeltetést.",[105,108,111,114,117,120],{"q":106,"a":107},"Elég a pgvector éles RAG-hoz?","Sok terhelésnél igen. A pgvector támogatja a HNSW és IVFFlat indexeket, a halfvec és sparsevec típusokat, a 0.8.0 verzió óta pedig az iteratív indexszkenneléseket szűrt lekérdezésekhez. Ha az adataid már Postgresben vannak és az index elfér a memóriában, ez megbízható alapértelmezés. Döntés előtt terheld meg a saját szűrőiddel és adataiddal.",{"q":109,"a":110},"Mikor használjak dedikált vektoradatbázist a pgvector helyett?","Amikor a vektorterhelés túlnő azon, amit a tranzakciós adataid mellett üzemeltetni akarsz: nagyon nagy korpusz, erős szűrés sok bérlőn át, speciális indextípusok, vagy olyan csapat, amely a keresést külön termékként kezeli. Ilyenkor a Qdrant, Weaviate, Milvus vagy Pinecone célzott funkciókat és független skálázást ad.",{"q":112,"a":113},"Mik az iteratív indexszkennelések a pgvectorban?","Az iteratív szkennelések, amelyeket a pgvector 0.8.0 hozott, lehetővé teszik, hogy egy közelítő index addig szkenneljen tovább, amíg elég sor teljesíti a WHERE szűrőt. Nélkülük a HNSW lekérdezés nagyjából hnsw.ef_search jelöltet (alapértelmezés 40) néz meg és utána szűr, így egy szelektív szűrő a kértnél kevesebb sort adhat. A hnsw.iterative_scan beállítással kapcsolhatod be.",{"q":115,"a":116},"Lehet hibrid keresést csinálni Postgresben?","Igen. A pgvector kombinálható a PostgreSQL teljes szöveges keresésével, a két rangsort pedig Reciprocal Rank Fusionnel egyesítheted SQL-ben, vagy cross-encoderrel újrarangsorolhatod. A dedikált rendszerek, mint a Qdrant, Weaviate és Milvus, beépített funkcióként adják a hibrid lekérdezést, így nem neked kell megírnod a fúziót.",{"q":118,"a":119},"Hogyan tartom az EU-ban a vektoradatokat?","Válassz EU-régiós menedzselt szolgáltatást, vagy hosztolj magad EU-s adatközpontban. A Pinecone AWS Frankfurtot és Írországot, valamint GCP Hollandiát sorol fel, a Weaviate Cloud támogat EU-régiókat. A régiót létrehozáskor rögzítsd, mert a Pinecone dokumentációja szerint utólag nem módosítható, és ellenőrizd azt is, hol fut az embedding modelled.",{"q":121,"a":122},"Kell vektoradatbázis egy kis RAG-alkalmazáshoz?","Általában nem. Néhány százezer chunk kényelmesen elfér Postgresben pgvectorral, sőt egy folyamaton belüli indexben is. Kezdj a legegyszerűbb tárolóval, amely támogatja a szűrőidet, mérd a keresési minőséget értékelő készlettel, és csak akkor költözz, ha egy mért korlát rákényszerít.",[124,127,130,133,136,139,142,145,148,151,154,157],{"id":125,"title":126},"short-answer","A rövid válasz",{"id":128,"title":129},"pgvector-today","Mit tud ma a pgvector",{"id":131,"title":132},"filtering","A szűrésen dőlnek el a döntések",{"id":134,"title":135},"hybrid-search","Hibrid keresés: beépítve vagy magad építve",{"id":137,"title":138},"decision-diagram","Egy döntési ábra",{"id":140,"title":141},"comparison","A lehetőségek egymás mellett",{"id":143,"title":144},"scale-and-cost","Skálázási küszöbök és költség",{"id":146,"title":147},"eu-hosting","EU-s hosztolás és adatvédelem",{"id":149,"title":150},"operations","Üzemeltetési teher",{"id":152,"title":153},"checklist","Ellenőrzőlista döntés előtt",{"id":155,"title":156},"what-i-would-do","Én mit tennék",{"id":158,"title":159},"sources","Források",[161,165,173,176,179,186,197,206,207,215,239,246,249,256,257,260,263,280,291,299,300,308,315,318,319,322,331,334,335,338,442,445,446,449,452,474,482,483,486,513,521,522,525,547,550,551,568,571,572,575,583,584],{"type":162,"content":163},"paragraph",[164],"Minden RAG-projekt ugyanabba a megbeszélésbe fut bele. Valaki megnyit egy diát hat vektoradatbázis-logóval, valaki más azt mondja, „hiszen már van Postgresünk”, és a vita ízlésbeli kérdéssé válik. 2026-ban ez a vita kevésbé arról szól, melyik motor a leggyorsabb, inkább arról, mit üzemeltetsz már, hogyan szűrik a lekérdezéseidet, és kit hívnak éjjel, ha az index összeomlik.",{"type":162,"content":166},[167,168,172],"Szállítottam már keresést relációs adatbázisokra, keresőmotorokra és dedikált vektortárolókra épülve. Őszinte összegzésem: a választás ritkán múlik benchmarkon. ",{"tag":169,"children":170},"strong",[171],"A szűrésen, a hibrid keresésen, a memórián, a hosztoláson és az üzemeltetésen"," múlik, nagyjából ebben a sorrendben. Ez a cikk ezt az ötöt járja végig, a végén döntési ábrával és összehasonlító táblázattal.",{"type":162,"content":174},[175],"Egy megjegyzés a bizonyítékokról. Minden konkrétum a gyártók saját dokumentációjából és kiadási jegyzeteiből származik, amelyeket 2026 október első napjaiban olvastam. Benchmarkszámokat szándékosan nem idézek: a vektor-benchmarkok az adathalmaztól, a recall-célszinttől, a hardvertől és a szűrőktől függnek, a keringők pedig többnyire a gyártók saját mérései. Ahol küszöböt mondok, jelzem, hogy az az én ítéletem.",{"type":177,"level":178,"id":125,"text":126},"heading",2,{"type":162,"content":180},[181,182,185],"Egy mondatban: ",{"tag":169,"children":183},[184],"használd azt a tárolót, amelyet a csapatod már tud üzemeltetni, és csak akkor hagyd el, ha meg tudod nevezni a mért korlátot, ami kényszerít."," A legtöbb európai B2B-csapatnál ez Postgrest jelent pgvectorral, vagy a már üzemeltetett keresőmotort.",{"type":187,"variant":188,"title":189,"body":190},"callout","tip","Az alapértelmezett sorrendem",[191,193,195],[192],"Első választás: pgvector, ha a forrásadatok Postgresben vannak és a vektorok elférnek a memóriában.",[194],"Második: OpenSearch vagy Elasticsearch, ha a kulcsszavas keresés, a facetek és a logok már ott vannak.",[196],"Harmadik: dedikált vektoradatbázis, ha a vektorok, a szűrés vagy a többbérlős működés a termék szíve.",{"type":162,"content":198},[199,200,205],"A cikk többi része megmagyarázza, miért, és hogyan derítheted ki, melyik helyzetben vagy. Ha magát a keresési réteget még tervezed, előbb olvasd el ",{"tag":201,"to":202,"children":203},"link","\u002Fblog\u002Frag-pipeline-chunking-hybrid-search-reranking",[204],"a RAG-pipeline útmutatómat a chunkolásról, hibrid keresésről és rerankingről",": a tároló a kisebb döntés.",{"type":177,"level":178,"id":128,"text":129},{"type":162,"content":208},[209,210,214],"A pgvector sokat változott a kezdeti, csak IVFFlat-es napok óta. A ",{"tag":211,"href":41,"children":212},"a",[213],"changelog"," megmutatja a RAG szempontjából fontos mérföldköveket, a legfrissebb kiadás, amit láttam, a 0.8.7 volt, 2026. október 1-jei dátummal.",{"type":216,"ordered":217,"items":218},"list",false,[219,224,229,234],[220,223],{"tag":169,"children":221},[222],"A HNSW indexek"," a 0.5.0-ban jelentek meg (2023 augusztus), a párhuzamos IVFFlat-építéssel együtt.",[225,228],{"tag":169,"children":226},[227],"A halfvec és a sparsevec"," a 0.7.0-ban jött (2024 április), a bináris kvantálási függvényekkel és a bit típus indexelésével együtt.",[230,233],{"tag":169,"children":231},[232],"Az iteratív indexszkennelések"," a 0.8.0-ban jöttek (2024 október), ez az a funkció, amitől a szűrt lekérdezések rendesen viselkednek.",[235,238],{"tag":169,"children":236},[237],"A javítókiadások számítanak."," A 0.8.3 (2026 június) javította a HNSW vacuumolás közbeni lehetséges indexsérülést, a 0.8.4 pedig egy HNSW-javítási hibát, ezért maradj a legfrissebb 0.8.x javítón.",{"type":162,"content":240},[241,242,245],"A ",{"tag":211,"href":38,"children":243},[244],"README"," dokumentálja a korlátokat, amelyek köré tervezned kell. Egy vector oszlop 2000 dimenzióig indexelhető, a halfvec 4000-ig, a bit 64 000-ig, a sparsevec pedig 1000 nem nulla elemig. A HNSW alapértékei m = 16, ef_construction = 64 és ef_search = 40. Az index akkor épül a leggyorsabban, ha a gráf elfér a `maintenance_work_mem` keretében, a halfvec pedig lehetővé teszi ugyanazon embeddingek indexelését feleakkora tárhellyel: egy `embedding::halfvec(1536)` jellegű kifejezést indexelsz, és ugyanazzal a castolással kérdezel.",{"type":162,"content":247},[248],"A pgvector valódi érve az indexen túl van: az embeddingek azok a sorok mellett vannak, amelyeket leírnak. A joinok, tranzakciók, sorszintű jogosultságok, mentések és a pontra visszaállítás azok, amelyeket már üzemeltetsz. Egy törölt ügyfél egy helyen törlődik, ami a GDPR miatt számít. Amit feladsz, az az izoláció: a vektorlekérdezések és indexépítések az OLTP-forgalommal versengenek memóriáért és CPU-ért, hacsak nem használsz replikát.",{"type":162,"content":250},[251,252,255],"Ha kinövöd a sima pgvectort, de Postgresben maradnál, a ",{"tag":211,"href":44,"children":253},[254],"pgvectorscale"," StreamingDiskANN indexet, statisztikai bináris kvantálást és címkealapú szűrt keresést ad a PostgreSQL licenc alatt. Írásakor a Timescale Cloudon a menedzselt kínálat privát béta volt, és a gyártó által közölt benchmarkok pontosan olyan számok, amelyeket a te adataidon újramérnék, mielőtt hinnék nekik.",{"type":177,"level":178,"id":131,"text":132},{"type":162,"content":258},[259],"A valódi RAG-lekérdezés sosem az, hogy „e vektor legközelebbi szomszédai”. Hanem az, hogy „e vektor legközelebbi szomszédai azok között a dokumentumok között, amelyeket ez a felhasználó láthat, ezen a nyelven, ebből az évből”. A közelítő index egy gráfon sétál, és az utólag alkalmazott szűrő eldobja az eredményeket.",{"type":162,"content":261},[262],"A pgvector ebben egyértelmű. Az alapértelmezett 40-es hnsw.ef_search mellett egy olyan WHERE-feltételű lekérdezés, amely a sorok nagyjából 10 százalékára illik, jellemzően a 40 jelöltből csak körülbelül négyet tart meg. Az iteratív szkennelések ezt javítják: állítsd a `hnsw.iterative_scan` értékét `strict_order` vagy `relaxed_order` értékre, és az index addig szkennel tovább, amíg elég sor egyezik, vagy el nem éri a `hnsw.max_scan_tuples` értéket (alapértelmezés 20 000). A `relaxed_order` mellett az eredmények kissé rossz sorrendben jöhetnek, a README pedig megmutatja, hogyan állítod vissza a sorrendet materializált CTE-vel.",{"type":216,"ordered":217,"items":264},[265,270,275],[266,269],{"tag":169,"children":267},[268],"Kevés különböző szűrőérték:"," a README részleges indexeket javasol.",[271,274],{"tag":169,"children":272},[273],"Sok különböző érték, például bérlőnként egy ügyfél:"," particionáld a táblát.",[276,279],{"tag":169,"children":277},[278],"Alacsony találati arány:"," egy hagyományos B-tree index a szűrőoszlopon, hogy a Postgres pontos szkennelést választhasson.",{"type":162,"content":281},[282,283,286,287,290],"A dedikált rendszerek a szűrést tervezési célnak tekintik. A Qdrant ",{"tag":211,"href":47,"children":284},[285],"payload indexeket javasol"," minden mezőn, amelyre szűrsz, és támogatja a beágyazott must, should és must_not feltételeket, valamint tartomány-, térbeli és teljes szöveges feltételeket. Az OpenSearch ",{"tag":211,"href":77,"children":288},[289],"hatékony szűrést"," dokumentál, ahol a Faiss és a Lucene motor is a gráfbejárás közben alkalmazza a szűrőt, így a megszorító szűrők is pontos top-k-t adnak. Az Elasticsearch a kNN-szűrőjét előszűrőként írja le, amely a közelítő keresés közben érvényesül. A Pinecone a rekordok metaadatain szűr a lekérdezés-végrehajtóiban.",{"type":162,"content":292},[293,294,298],"A gyakorlati teszt egyszerű, és minden projektben lefuttatom: vedd az öt legszelektívebb valódi szűrőt, futtass mindegyikkel 200 valódi lekérdezést a szükséges recall mellett, és nézd meg, hány találat jön vissza és hogyan viselkedik a késleltetés. Párosítsd címkézett értékelő készlettel, ahogy a ",{"tag":201,"to":295,"children":296},"\u002Fblog\u002Fllm-evals-for-product-features",[297],"LLM-értékelések termékfunkciókhoz"," cikkemben leírom, hogy a válasz minőségét mérd, ne csak a sebességet.",{"type":177,"level":178,"id":134,"text":135},{"type":162,"content":301},[302,303,307],"A sűrű vektorok elvétik a pontos tokeneket, például alkatrészszámokat, hibakódokat és neveket, a B2B katalógusok pedig tele vannak velük. Szinte minden komoly RAG-rendszer a végén kulcsszavas és vektoros keresést kombinál, ahogy a ",{"tag":201,"to":304,"children":305},"\u002Fblog\u002Frag-2026-hybrid-agentic-long-context",[306],"RAG 2026-ban: hibrid, ügynöki és hosszú kontextus"," cikkben érvelek.",{"type":162,"content":309},[310,311,314],"A motorok abban különböznek, mennyit kapsz ebből készen. A Qdrant ",{"tag":211,"href":50,"children":312},[313],"egy lekérdezésben támogatja a sparse és dense vektorokat",", Reciprocal Rank Fusionnel és Distribution-Based Score Fusionnel, beágyazott prefetch-szakaszokkal és többvektoros támogatással ColBERT-szerű újrapontozáshoz. A Weaviate párhuzamosan futtatja a BM25 és a vektoros keresést és egyesíti őket, alapértelmezetten relative score fusionnel és 0,75 alapértékű alpha paraméterrel. A Milvus egy collectionön belül több vektormezőt, sűrűt és sparse-t is át tud keresni. A Pinecone támogatja a sparse vektorokat, a hibrid lekérdezéseket és a BM25-alapú teljes szöveges keresést. Az OpenSearch és az Elasticsearch elsősorban keresőmotor, így a BM25 és a vektorok egy indexben élnek.",{"type":162,"content":316},[317],"A Postgres az építőelemeket adja: teljes szöveges keresést tsvectorral és rangsorolt vektoreredményeket a pgvectorból, Reciprocal Rank Fusionnel egyesítve SQL-ben. Ez nagyjából harminc sor, amely a tiéd és tesztelhető, jó csere, ha egyetlen tranzakciós tárolót értékelsz. Ha a csapatod nem akarja birtokolni a fúziós kódot és a körülötte lévő relevanciahangolást, az jogos ok a Weaviate-re vagy a Qdrantra, vagy arra, hogy keresőmotorban maradj.",{"type":177,"level":178,"id":137,"text":138},{"type":162,"content":320},[321],"Ebben a sorrendben teszem fel a kérdéseket. Szándékosan a már üzemeltetett rendszerek felé hajlik.",{"type":323,"attrs":324,"inner":328,"caption":329},"diagram",{"viewBox":325,"role":326,"aria-labelledby":327},"0 0 720 410","img","d1-pgv-t d1-pgv-d","\u003Ctitle id=\"d1-pgv-t\">Vektortároló választása\u003C\u002Ftitle>\u003Cdesc id=\"d1-pgv-d\">Három kérdés rögzített sorrendben. Ha az adataid már Postgresben vannak és a vektorok elférnek a memóriában, használj pgvectort. Egyébként, ha már üzemeltetsz OpenSearch-öt vagy Elasticsearch-öt, vegyél fel ott vektormezőket. Egyébként, ha nagyon nagy a korpusz, erős a többbérlős működés vagy a keresést saját csapat viszi, használj dedikált vektoradatbázist. Ha egyik sem igaz, kezdj pgvectorral és mérj.\u003C\u002Fdesc>\u003Ctext x=\"20\" y=\"28\" class=\"d-title\">Vektortároló választása\u003C\u002Ftext>\u003Ctext x=\"700\" y=\"28\" text-anchor=\"end\" class=\"d-label\">a szerző heurisztikája, 2026 okt\u003C\u002Ftext>\u003Crect x=\"20\" y=\"50\" width=\"320\" height=\"66\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"180\" y=\"79\" text-anchor=\"middle\" class=\"d-text\">Adat már Postgresben van?\u003C\u002Ftext>\u003Ctext x=\"180\" y=\"100\" text-anchor=\"middle\" class=\"d-small\">és a vektorok elférnek a RAM-ban\u003C\u002Ftext>\u003Cpath d=\"M340 83 H422\" class=\"d-line\" \u002F>\u003Cpath d=\"M430 83 l-9 -5 v10 z\" class=\"d-head\" \u002F>\u003Ctext x=\"385\" y=\"75\" text-anchor=\"middle\" class=\"d-label\">igen\u003C\u002Ftext>\u003Crect x=\"430\" y=\"50\" width=\"270\" height=\"66\" rx=\"10\" class=\"d-mint\" \u002F>\u003Ctext x=\"565\" y=\"79\" text-anchor=\"middle\" class=\"d-text\">pgvector\u003C\u002Ftext>\u003Ctext x=\"565\" y=\"100\" text-anchor=\"middle\" class=\"d-small\">HNSW, halfvec, iteratív szkennelés\u003C\u002Ftext>\u003Cpath d=\"M180 116 V142\" class=\"d-line\" \u002F>\u003Cpath d=\"M180 150 l-5 -9 h10 z\" class=\"d-head\" \u002F>\u003Ctext x=\"190\" y=\"136\" class=\"d-label\">nem\u003C\u002Ftext>\u003Crect x=\"20\" y=\"150\" width=\"320\" height=\"66\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"180\" y=\"179\" text-anchor=\"middle\" class=\"d-text\">Már van OpenSearch vagy Elastic?\u003C\u002Ftext>\u003Ctext x=\"180\" y=\"200\" text-anchor=\"middle\" class=\"d-small\">kulcsszavas keresés, facetek\u003C\u002Ftext>\u003Cpath d=\"M340 183 H422\" class=\"d-line\" \u002F>\u003Cpath d=\"M430 183 l-9 -5 v10 z\" class=\"d-head\" \u002F>\u003Ctext x=\"385\" y=\"175\" text-anchor=\"middle\" class=\"d-label\">igen\u003C\u002Ftext>\u003Crect x=\"430\" y=\"150\" width=\"270\" height=\"66\" rx=\"10\" class=\"d-sky\" \u002F>\u003Ctext x=\"565\" y=\"179\" text-anchor=\"middle\" class=\"d-text\">Maradj a motorban\u003C\u002Ftext>\u003Ctext x=\"565\" y=\"200\" text-anchor=\"middle\" class=\"d-small\">vektormezők hozzáadása\u003C\u002Ftext>\u003Cpath d=\"M180 216 V242\" class=\"d-line\" \u002F>\u003Cpath d=\"M180 250 l-5 -9 h10 z\" class=\"d-head\" \u002F>\u003Ctext x=\"190\" y=\"236\" class=\"d-label\">nem\u003C\u002Ftext>\u003Crect x=\"20\" y=\"250\" width=\"320\" height=\"66\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"180\" y=\"279\" text-anchor=\"middle\" class=\"d-text\">Hatalmas korpusz, sok bérlő?\u003C\u002Ftext>\u003Ctext x=\"180\" y=\"300\" text-anchor=\"middle\" class=\"d-small\">vagy saját keresési csapat\u003C\u002Ftext>\u003Cpath d=\"M340 283 H422\" class=\"d-line\" \u002F>\u003Cpath d=\"M430 283 l-9 -5 v10 z\" class=\"d-head\" \u002F>\u003Ctext x=\"385\" y=\"275\" text-anchor=\"middle\" class=\"d-label\">igen\u003C\u002Ftext>\u003Crect x=\"430\" y=\"250\" width=\"270\" height=\"66\" rx=\"10\" class=\"d-accent\" \u002F>\u003Ctext x=\"565\" y=\"279\" text-anchor=\"middle\" class=\"d-text\">Vektoradatbázis\u003C\u002Ftext>\u003Ctext x=\"565\" y=\"300\" text-anchor=\"middle\" class=\"d-small\">Qdrant, Weaviate, Milvus, Pinecone\u003C\u002Ftext>\u003Cpath d=\"M180 316 V332\" class=\"d-line\" \u002F>\u003Cpath d=\"M180 340 l-5 -9 h10 z\" class=\"d-head\" \u002F>\u003Ctext x=\"190\" y=\"336\" class=\"d-label\">nem\u003C\u002Ftext>\u003Crect x=\"20\" y=\"340\" width=\"680\" height=\"50\" rx=\"10\" class=\"d-gold\" \u002F>\u003Ctext x=\"360\" y=\"370\" text-anchor=\"middle\" class=\"d-text\">Egyik sem igaz: kezdj pgvectorral, mérj, aztán válts\u003C\u002Ftext>",[330],"Sorban kérdezz, és az első igennél állj meg. A cél az, hogy ne adj hozzá újabb rendszert, nem az, hogy ne válassz.",{"type":162,"content":332},[333],"Két fenntartás. Az első „igen” nem zárja le a beszélgetést, ha a korpusz óriási: végezd el a memóriaszámítást a skálázásról szóló részben. A tartalék ágon a „kezdj pgvectorral” az én elfogultságom kis csapatok esetén, mert ez a legkönnyebben visszafordítható opció: egy migrációhoz elég a vektorok és a metaadatok exportja.",{"type":177,"level":178,"id":140,"text":141},{"type":162,"content":336},[337],"Ez a táblázat sűríti azt, amit a dokumentációban ellenőriztem. A verziók a legfrissebb kiadások, amelyeket 2026 október elején láttam a GitHubon: Qdrant 1.19.1, Weaviate 1.39.8, Milvus 3.0.2, OpenSearch 3.9.0 és pgvector 0.8.7.",{"type":339,"head":340,"rows":351},"table",[341,343,345,347,349],[342],"Lehetőség",[344],"Legerősebb ebben",[346],"Szűrés",[348],"Hibrid keresés",[350],"Mire figyelj",[352,364,377,390,403,416,429],[353,356,358,360,362],[354],{"tag":169,"children":355},[9],[357],"Vektorok a relációs adatok mellett, egy rendszer",[359],"WHERE plusz iteratív szkennelés, részleges indexek, partíciók",[361],"Teljes szöveges keresés plusz saját fúzió SQL-ben",[363],"Indexmemória, versenyez az OLTP-vel, indexelési dimenziókorlátok",[365,369,371,373,375],[366],{"tag":169,"children":367},[368],"Qdrant",[370],"Szűrésigényes keresés, rugalmas hibrid lekérdezések",[372],"Payload indexek, beágyazott logikai feltételek",[374],"Sparse és dense, RRF, DBSF, prefetch",[376],"Második rendszer, amit szinkronizálni és védeni kell",[378,382,384,386,388],[379],{"tag":169,"children":380},[381],"Weaviate",[383],"Beépített hibrid keresés, többbérlős működés",[385],"Szűrt vektorkeresés; a részleteket nem ellenőriztem, teszteld a sajátodat",[387],"BM25 plusz vektor, alapértelmezetten relative score fusion",[389],"A felhőben az ár a vektordimenziókkal skálázódik",[391,395,397,399,401],[392],{"tag":169,"children":393},[394],"Milvus",[396],"Nagyon nagy, elosztott terhelések",[398],"Metaadat-szűrők; a részleteket nem ellenőriztem, teszteld a sajátodat",[400],"Több sűrű és sparse vektormező",[402],"Az elosztott üzemeltetés Kubernetesen valódi üzemeltetési munka",[404,408,410,412,414],[405],{"tag":169,"children":406},[407],"Pinecone",[409],"Menedzselt, serverless, nincs szerver",[411],"Metaadat-szűrők a lekérdezés-végrehajtókban",[413],"Sparse vektorok, hibrid, BM25 teljes szöveg",[415],"Az általam olvasott dokumentációban csak serverless, a régió létrehozáskor rögzül",[417,421,423,425,427],[418],{"tag":169,"children":419},[420],"OpenSearch",[422],"Egy motor kulcsszóra, facetekre és vektorokra",[424],"Szűrés a Faiss vagy Lucene gráfbejárás közben",[426],"BM25 és vektorok egy indexben",[428],"Klaszterhangolás, JVM és shard-tervezés",[430,434,436,438,440],[431],{"tag":169,"children":432},[433],"Elasticsearch",[435],"Ugyanaz, Elastic-eszközökkel és BBQ-kvantálással",[437],"Előszűrő a közelítő kNN közben",[439],"BM25 és kNN egy indexben",[441],"Klaszterméretezés és üzemeltetés",{"type":162,"content":443},[444],"Néhány részlet a cellák mögött. A Weaviate HNSW, flat, dynamic és HFresh indextípust kínál, ahol a dynamic egy küszöb felett (alapértelmezés 10 000 objektum) vált flatről HNSW-re, és sok kis bérlőhöz illik. A Milvus HNSW, IVF, DiskANN, ScaNN és GPU-indexeket, valamint állapotmentes, szétválasztott architektúrát dokumentál. Az Elasticsearch dokumentációja szerint a 384 vagy több dimenziós float vektorokat tartalmazó új indexek alapértelmezetten BBQ HNSW-t használnak. Az OpenSearch a Lucene (HNSW) és Faiss (HNSW és IVF) motorokat támogatja.",{"type":177,"level":178,"id":143,"text":144},{"type":162,"content":447},[448],"Az egyetlen küszöb, amit benchmark nélkül megadhatok, aritmetika. Egy float32 vektor dimenziónként 4 bájt. 1536 dimenziónál ez 6144 bájt, így 1 millió vektor nagyjából 6,1 GB-ot, 10 millió nagyjából 61 GB-ot igényel a gráfkapcsolatok, metaadatok és replikák előtt. A halfvec ezt nagyjából 3 GB-ra és 31 GB-ra felezi, a bináris kvantálás ennél jóval jobban zsugorít, olyan recall-áron, amit mérned kell.",{"type":162,"content":450},[451],"A HNSW a gráfját memóriában akarja, így a gyakorlati kérdés az, hogy ez a memória elfér-e azon a gépen, amelyet amúgy is bérelnél. A hüvelykujjszabályom, és ez ítélet, nem mérés: néhány millió chunkig egy jól méretezett Postgres-példány ritkán a szűk keresztmetszet. Valahol a tízmilliók környékén, vagy amikor az indexépítések az elsődleges adatbázist terhelni kezdik, elkezdem összevetni a lemezalapú vagy kvantált lehetőségeket a dedikált rendszerekben.",{"type":216,"ordered":217,"items":453},[454,459,464,469],[455,458],{"tag":169,"children":456},[457],"Saját üzemeltetésű vagy menedzselt Postgres:"," a költség a példány, amelyet amúgy is fizetsz, plusz a többlet RAM. Nincs új szállító.",[460,463],{"tag":169,"children":461},[462],"Keresőmotor-klaszter:"," node-onként fizetsz memóriáért és lemezért, de megosztod a kulcsszavas kereséssel és a logokkal.",[465,468],{"tag":169,"children":466},[467],"Dedikált felhőszolgáltatás:"," kapacitásért vagy használatért fizetsz. A Weaviate főként vektordimenziók szerint számláz, így az alacsonyabb dimenziójú vagy tömörített embeddingek közvetlenül csökkentik a számlát.",[470,473],{"tag":169,"children":471},[472],"Rejtett költség:"," a második rendszer második szinkronpipeline-t, második hozzáférési modellt és második incidenscsatornát jelent.",{"type":162,"content":475},[476,477,481],"A költség a választott embeddingektől is függ. Egy kisebb modell, vagy olyan, amely rövidített vektorokat támogat, mindenhol csökkenti a tárhelyet. A tágabb eszközöket a ",{"tag":201,"to":478,"children":479},"\u002Fblog\u002Fllm-cost-latency-prompt-caching-routing",[480],"LLM-költség, késleltetés, prompt caching és routing"," cikkben tárgyalom.",{"type":177,"level":178,"id":146,"text":147},{"type":162,"content":484},[485],"Európai ügyfeleknél a „hol vannak a vektorok” beszerzési kérdés. Az embeddingek a dokumentumaidból származnak és információt szivárogtathatnak azokról, ezért kezeld személyes adatként, ha a forrás az.",{"type":216,"ordered":217,"items":487},[488,493,498,503,508],[489,492],{"tag":169,"children":490},[491],"Postgres:"," egy menedzselt szolgáltató bármely EU-régiója, vagy a saját szervereid. A legegyszerűbb auditálni.",[494,497],{"tag":169,"children":495},[496],"Pinecone:"," dokumentálja az AWS eu-west-1 (Írország) és eu-central-1 (Frankfurt), valamint a GCP europe-west4 (Hollandia) régiót a Builder csomagtól felfelé. A Starter csomag az AWS us-east-1-re korlátozott, és a régió létrehozás után nem módosítható.",[499,502],{"tag":169,"children":500},[501],"Weaviate Cloud:"," EU-régiók a megosztott és a dedikált telepítéseknél, a bring-your-own-cloud opció „hamarosan” jelzéssel szerepel.",[504,507],{"tag":169,"children":505},[506],"Qdrant:"," menedzselt klaszterek AWS-en, GCP-n és Azure-on, valamint a Hybrid Cloud, egy önmenedzselt opció.",[509,512],{"tag":169,"children":510},[511],"Saját üzemeltetésű Milvus, Qdrant, Weaviate, OpenSearch:"," te döntöd el az adatközpontot, és te viszed az üzemeltetést.",{"type":162,"content":514},[515,516,520],"Egy frankfurti régió szükséges, de nem mindig elégséges: egy amerikai székhelyű szolgáltatónál továbbra is felmerülhetnek kérdések a külföldi hozzáférésről, az embedding modell hívása pedig egy második adatfolyam. Ezt a részt a ",{"tag":201,"to":517,"children":518},"\u002Fblog\u002Fgdpr-llm-api-eu-data-residency",[519],"GDPR és LLM API-k: EU adatrezidencia"," cikkben tárgyalom. Szerződéskötéskor nézd meg a szolgáltató oldalán az aktuális régiólistát, mert ezek változnak.",{"type":177,"level":178,"id":149,"text":150},{"type":162,"content":523},[524],"Ez az a költség, amit a benchmarkok sosem mutatnak. Tedd fel négy kérdést bármelyik lehetőségnek.",{"type":216,"ordered":217,"items":526},[527,532,537,542],[528,531],{"tag":169,"children":529},[530],"Mentés és visszaállítás:"," vissza tudod állítani a vektorokat és a metaadatokat egy konzisztens időpontra? A Postgresben ez megoldott. A többinél a visszaállítást teszteld, ne csak a mentést.",[533,536],{"tag":169,"children":534},[535],"Újraindexelés:"," az embedding modell cseréje a korpusz újra-embeddingjét jelenti. Fel tudod építeni az új indexet a régi mellett és átkapcsolni?",[538,541],{"tag":169,"children":539},[540],"Frissítések:"," az olyan pgvector-javítások, mint a 0.8.3, indexsérüléseket javítottak. Ki figyeli a kiadási jegyzeteket?",[543,546],{"tag":169,"children":544},[545],"Ügyelet:"," egy elosztott rendszer Kubernetesen más elköteleződés, mint egy kiterjesztés egy olyan adatbázisban, amelyet már üzemeltetsz.",{"type":162,"content":548},[549],"Tapasztalatom szerint a legolcsóbb üzemeltetés az, ha eggyel kevesebb rendszert futtatsz. Ez a pgvector és a keresőmotorok teljes érve, és ezért a menedzselt dedikált szolgáltatás a helyes válasz, ha a csapatodnak nincs kedve egyiket sem üzemeltetni.",{"type":177,"level":178,"id":152,"text":153},{"type":216,"ordered":552,"items":553},true,[554,556,558,560,562,564,566],[555],"Írd le az öt legfontosabb szűrődet, a bérlői és jogosultsági ellenőrzésekkel együtt.",[557],"Számold meg a chunkokat, a dimenziókat és a növekedést, majd végezd el a memóriaszámítást float32-re és halfvec-re.",[559],"Építs címkézett értékelő készletet legalább néhány tucat valódi kérdésből.",[561],"Futtasd ugyanazokat a lekérdezéseket a két legjobb jelöltre a valódi szűrőiddel, és hasonlítsd össze a recallt és a késleltetést.",[563],"Döntsd el, ki felel a fúzióért és a relevanciahangolásért a hibrid keresésnél.",[565],"Kérd írásban az EU-régiót, a mentési, visszaállítási és frissítési eljárást.",[567],"Tervezd meg az újra-embedding útvonalát, mielőtt az első millió vektort betöltöd.",{"type":162,"content":569},[570],"Ha két opció döntetlen, válaszd azt, amelyiknek kevesebb mozgó alkatrésze van. Később mindig válthatsz: a vektorok és a metaadatok tisztán exportálhatók.",{"type":177,"level":178,"id":155,"text":156},{"type":162,"content":573},[574],"Egy tipikus európai B2B-projektnél, ahol a katalógus vagy tudásbázis az alacsony milliós chunkszám tartományban van, pgvectorral, halfvec-kel, HNSW indexszel és iteratív szkennelésekkel kezdenék, hibrid kereséshez hozzáadnám a Postgres teljes szöveges keresését, az értékelő készletet pedig az első napon megírnám. Ha az ügyfél már üzemeltet OpenSearch-öt, ott tárolnám a vektorokat.",{"type":162,"content":576},[577,578,582],"Dedikált vektoradatbázisra akkor váltanék, ha mért korlát jelenik meg: szűrt recall, amelyet az iteratív szkennelések nem mentenek meg, termelést terhelő indexépítések, vagy olyan bérlőkezelés és skála, amelyet a Postgresnek nem kellene vinnie. És a funkciói mellett éppúgy az üzemeltetési modellje alapján választanám, legyen menedzselt vagy saját üzemeltetésű az EU-ban. Ha segítség kell a döntéshez a saját adataidon, nézd meg ",{"tag":201,"to":579,"children":580},"\u002Fexpertise\u002Fai-engineer",[581],"az AI-engineering munkámat",".",{"type":177,"level":178,"id":158,"text":159},{"type":216,"ordered":552,"items":585},[586,589,592,595,598,601,604,607,610,613,616,619,622,625,628,631,634],[587],{"tag":211,"href":38,"children":588},[37],[590],{"tag":211,"href":41,"children":591},[40],[593],{"tag":211,"href":44,"children":594},[43],[596],{"tag":211,"href":47,"children":597},[46],[599],{"tag":211,"href":50,"children":600},[49],[602],{"tag":211,"href":53,"children":603},[52],[605],{"tag":211,"href":56,"children":606},[55],[608],{"tag":211,"href":59,"children":609},[58],[611],{"tag":211,"href":62,"children":612},[61],[614],{"tag":211,"href":65,"children":615},[64],[617],{"tag":211,"href":68,"children":618},[67],[620],{"tag":211,"href":71,"children":621},[70],[623],{"tag":211,"href":74,"children":624},[73],[626],{"tag":211,"href":77,"children":627},[76],[629],{"tag":211,"href":80,"children":630},[79],[632],{"tag":211,"href":83,"children":633},[82],[635],{"tag":211,"href":86,"children":636},[85],[638,710,777,844],{"slug":639,"published":5,"minutes":6,"category":7,"tags":640,"keywords":645,"about":656,"sources":664,"cover":704,"og":705,"expertise":89,"locales":706,"lang":93,"title":707,"description":708,"coverAlt":709},"llm-hallucination-grounding-citations",[641,11,642,643,644],"Hallucinations","Citations","Grounding","Faithfulness",[646,647,648,649,650,651,652,653,654,655],"reduce LLM hallucinations in production","how to reduce hallucinations in RAG","LLM citations API","Anthropic citations API","RAG faithfulness metric","LLM abstention I don't know","claim-level verification LLM","grounding LLM answers in sources","check grounding API","show sources in AI chatbot UI",[657,660,661],{"name":658,"url":659},"Hallucination (artificial intelligence)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FHallucination_(artificial_intelligence)",{"name":33,"url":34},{"name":662,"url":663},"Large language model","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FLarge_language_model",[665,668,671,674,677,680,683,686,689,692,695,698,701],{"title":666,"url":667},"Anthropic: Citations (Claude API documentation)","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Fcitations",{"title":669,"url":670},"Anthropic: Search results (Claude API documentation)","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Fbuild-with-claude\u002Fsearch-results",{"title":672,"url":673},"Anthropic: Reduce hallucinations (Claude API documentation)","https:\u002F\u002Fplatform.claude.com\u002Fdocs\u002Fen\u002Ftest-and-evaluate\u002Fstrengthen-guardrails\u002Freduce-hallucinations",{"title":675,"url":676},"Anthropic: Introducing Citations on the Anthropic API","https:\u002F\u002Fclaude.com\u002Fblog\u002Fintroducing-citations-api",{"title":678,"url":679},"Simon Willison: Anthropic's new Citations API (24 January 2025)","https:\u002F\u002Fsimonwillison.net\u002F2025\u002FJan\u002F24\u002Fanthropics-new-citations-api\u002F",{"title":681,"url":682},"OpenAI: Web search guide (url_citation annotations and display requirement)","https:\u002F\u002Fdevelopers.openai.com\u002Fapi\u002Fdocs\u002Fguides\u002Ftools-web-search",{"title":684,"url":685},"Cohere: Documents and citations","https:\u002F\u002Fdocs.cohere.com\u002Fdocs\u002Fdocuments-and-citations",{"title":687,"url":688},"Google Cloud: Check grounding API","https:\u002F\u002Fdocs.cloud.google.com\u002Fgenerative-ai-app-builder\u002Fdocs\u002Fcheck-grounding",{"title":690,"url":691},"AWS: Amazon Bedrock Guardrails contextual grounding check","https:\u002F\u002Fdocs.aws.amazon.com\u002Fbedrock\u002Flatest\u002Fuserguide\u002Fguardrails-contextual-grounding-check.html",{"title":693,"url":694},"Ragas: Faithfulness metric","https:\u002F\u002Fdocs.ragas.io\u002Fen\u002Fstable\u002Fconcepts\u002Fmetrics\u002Favailable_metrics\u002Ffaithfulness\u002F",{"title":696,"url":697},"Kalai, Nachum, Vempala, Zhang: Why Language Models Hallucinate (arXiv 2509.04664)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2509.04664",{"title":699,"url":700},"Magesh et al.: Hallucination-Free? Assessing the Reliability of Leading AI Legal Research Tools (arXiv 2405.20362)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2405.20362",{"title":702,"url":703},"Wallat, Heuss, de Rijke, Anand: Correctness is not Faithfulness in RAG Attributions (arXiv 2412.18004)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2412.18004","\u002Fimages\u002Fblog\u002Fllm-hallucination-grounding-citations\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fllm-hallucination-grounding-citations\u002Fog.jpg",[91,92,93],"LLM-hallucinációk csökkentése éles rendszerben: grounding, hivatkozások és a nemet mondás tudománya","Hallucinációk csökkentése éles RAG-ban: hivatkozás-API-k, tartózkodás, állításszintű ellenőrzés, faithfulness-mérés, forrás-UI és ami mégis átcsúszik.","Ábra: egy retrieval lépés evidencia-kapuba, hivatkozásos válaszba és állításellenőrzőbe vezet, a végén forrásokkal ellátott válasz; tartózkodási és jelölési ágak térnek le.",{"slug":711,"published":5,"minutes":6,"category":7,"tags":712,"keywords":716,"about":726,"sources":734,"cover":771,"og":772,"expertise":89,"locales":773,"lang":93,"title":774,"description":775,"coverAlt":776},"graphrag-knowledge-graph-rag",[713,714,715,11],"GraphRAG","Knowledge graphs","LightRAG",[713,717,718,719,720,721,722,723,724,725],"knowledge graph RAG","GraphRAG vs vector RAG","Microsoft GraphRAG explained","LightRAG vs GraphRAG","GraphRAG global vs local search","GraphRAG indexing cost","when to use GraphRAG","multi-hop RAG","LazyGraphRAG",[727,730,731],{"name":728,"url":729},"Knowledge graph","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FKnowledge_graph",{"name":33,"url":34},{"name":732,"url":733},"Leiden algorithm","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FLeiden_algorithm",[735,738,741,744,747,750,753,756,759,762,765,768],{"title":736,"url":737},"Edge et al.: From Local to Global: A Graph RAG Approach to Query-Focused Summarization (arXiv:2404.16130)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2404.16130",{"title":739,"url":740},"Microsoft GraphRAG documentation: overview","https:\u002F\u002Fmicrosoft.github.io\u002Fgraphrag\u002F",{"title":742,"url":743},"Microsoft GraphRAG documentation: default dataflow","https:\u002F\u002Fmicrosoft.github.io\u002Fgraphrag\u002Findex\u002Fdefault_dataflow\u002F",{"title":745,"url":746},"Microsoft GraphRAG documentation: global search","https:\u002F\u002Fmicrosoft.github.io\u002Fgraphrag\u002Fquery\u002Fglobal_search\u002F",{"title":748,"url":749},"Microsoft GraphRAG documentation: local search","https:\u002F\u002Fmicrosoft.github.io\u002Fgraphrag\u002Fquery\u002Flocal_search\u002F",{"title":751,"url":752},"Microsoft GraphRAG documentation: DRIFT search","https:\u002F\u002Fmicrosoft.github.io\u002Fgraphrag\u002Fquery\u002Fdrift_search\u002F",{"title":754,"url":755},"Microsoft GraphRAG documentation: getting started","https:\u002F\u002Fmicrosoft.github.io\u002Fgraphrag\u002Fget_started\u002F",{"title":757,"url":758},"Microsoft Research: LazyGraphRAG, setting a new standard for quality and cost (25 November 2024)","https:\u002F\u002Fwww.microsoft.com\u002Fen-us\u002Fresearch\u002Fblog\u002Flazygraphrag-setting-a-new-standard-for-quality-and-cost\u002F",{"title":760,"url":761},"Guo et al.: LightRAG: Simple and Fast Retrieval-Augmented Generation (arXiv:2410.05779)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2410.05779",{"title":763,"url":764},"HKUDS\u002FLightRAG on GitHub","https:\u002F\u002Fgithub.com\u002FHKUDS\u002FLightRAG",{"title":766,"url":767},"Gutiérrez et al.: HippoRAG: Neurobiologically Inspired Long-Term Memory for Large Language Models (arXiv:2405.14831)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2405.14831",{"title":769,"url":770},"Xiang et al.: When to use Graphs in RAG: A Comprehensive Analysis for Graph Retrieval-Augmented Generation (arXiv:2506.05690)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2506.05690","\u002Fimages\u002Fblog\u002Fgraphrag-knowledge-graph-rag\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fgraphrag-knowledge-graph-rag\u002Fog.jpg",[91,92,93],"GraphRAG és knowledge-graph RAG: mikor veri a gráf a vektoros keresést","Mit csinál valójában a Microsoft GraphRAG és a LightRAG, mennyibe kerül az indexelés, és mikor jobb a tudásgráf a vektoros RAG-nál: multi-hop, globális kérdések, termékkatalógus.","Diagram: egy tudásgráf középen, entitásokhoz, közösségekhez, lokális és globális kereséshez és termékalkatrészekhez kapcsolva.",{"slug":778,"published":5,"minutes":779,"category":7,"tags":780,"keywords":786,"about":796,"sources":804,"cover":838,"og":839,"expertise":89,"locales":840,"lang":93,"title":841,"description":842,"coverAlt":843},"rag-evaluation-metrics",12,[781,782,783,784,785],"RAG evaluation","Retrieval metrics","LLM-as-judge","Golden set","Ragas",[781,787,788,789,790,791,792,793,794,795],"how to evaluate RAG","RAG evaluation metrics","recall@k MRR nDCG","faithfulness vs answer relevance","golden dataset for RAG","LLM as a judge calibration","Ragas vs DeepEval vs TruLens","RAG evals in CI","retrieval vs generation failure",[797,798,801],{"name":33,"url":34},{"name":799,"url":800},"Discounted cumulative gain","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FDiscounted_cumulative_gain",{"name":802,"url":803},"Mean reciprocal rank","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FMean_reciprocal_rank",[805,808,811,814,816,819,822,825,828,831,833,835],{"title":806,"url":807},"Es et al.: RAGAS, Automated Evaluation of Retrieval Augmented Generation (arXiv 2309.15217)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2309.15217",{"title":809,"url":810},"Zheng et al.: Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena (arXiv 2306.05685)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2306.05685",{"title":812,"url":813},"Ragas documentation: available metrics","https:\u002F\u002Fdocs.ragas.io\u002Fen\u002Fstable\u002Fconcepts\u002Fmetrics\u002Favailable_metrics\u002F",{"title":815,"url":694},"Ragas documentation: faithfulness",{"title":817,"url":818},"Ragas documentation: context precision","https:\u002F\u002Fdocs.ragas.io\u002Fen\u002Fstable\u002Fconcepts\u002Fmetrics\u002Favailable_metrics\u002Fcontext_precision\u002F",{"title":820,"url":821},"Ragas documentation: context recall","https:\u002F\u002Fdocs.ragas.io\u002Fen\u002Fstable\u002Fconcepts\u002Fmetrics\u002Favailable_metrics\u002Fcontext_recall\u002F",{"title":823,"url":824},"DeepEval documentation: metrics introduction","https:\u002F\u002Fdeepeval.com\u002Fdocs\u002Fmetrics-introduction",{"title":826,"url":827},"TruLens","https:\u002F\u002Fwww.trulens.org\u002F",{"title":829,"url":830},"Arize Phoenix documentation","https:\u002F\u002Farize.com\u002Fdocs\u002Fphoenix",{"title":832,"url":800},"Wikipedia: Discounted cumulative gain",{"title":834,"url":803},"Wikipedia: Mean reciprocal rank",{"title":836,"url":837},"Wikipedia: Cohen's kappa","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FCohen%27s_kappa","\u002Fimages\u002Fblog\u002Frag-evaluation-metrics\u002Fcover.webp","\u002Fimages\u002Fblog\u002Frag-evaluation-metrics\u002Fog.jpg",[91,92,93],"RAG kiértékelése: retrieval metrikák, faithfulness, és hogyan derül ki, melyik fele hibázott","Hogyan értékeld ki a RAG-rendszered: recall at k, MRR, nDCG vs. faithfulness és válaszrelevancia, golden set valódi kérdésekből, kalibrált LLM-bíró, evalok a CI-ban.","Ábra: egy RAG-választ két oldalon pontoznak, retrieval metrikákkal, mint a recall at k, az MRR és az nDCG, valamint generálási metrikákkal, mint a faithfulness és a válaszrelevancia, amelyek egy diagnózisba futnak.",{"slug":845,"published":5,"minutes":6,"category":7,"tags":846,"keywords":850,"about":861,"sources":868,"cover":907,"og":908,"expertise":909,"locales":910,"lang":93,"title":911,"description":912,"coverAlt":913},"semantic-product-search-b2b",[847,12,848,849,420],"B2B search","Semantic search","Spryker",[851,852,853,854,855,856,857,858,859,860],"semantic product search B2B","B2B ecommerce search","hybrid search BM25 vector","part number search ecommerce","Spryker search Elasticsearch","OpenSearch hybrid search RRF","multilingual product search German English Hungarian","zero results rate site search","LLM query understanding ecommerce","AI product search for B2B shops",[862,864,866],{"name":848,"url":863},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FSemantic_search",{"name":433,"url":865},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FElasticsearch",{"name":420,"url":867},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FOpenSearch",[869,872,875,877,880,883,886,889,892,895,898,901,904],{"title":870,"url":871},"Baymard Institute: E-commerce search query types","https:\u002F\u002Fbaymard.com\u002Fblog\u002Fecommerce-search-query-types",{"title":873,"url":874},"Elastic Search Labs: Hybrid search in Elasticsearch","https:\u002F\u002Fwww.elastic.co\u002Fsearch-labs\u002Fblog\u002Fhybrid-search-elasticsearch",{"title":876,"url":83},"Elasticsearch documentation: kNN query (pre-filters and post-filters)",{"title":878,"url":879},"Elasticsearch documentation: Semantic reranking","https:\u002F\u002Fwww.elastic.co\u002Fdocs\u002Fsolutions\u002Fsearch\u002Franking\u002Fsemantic-reranking",{"title":881,"url":882},"Elasticsearch documentation: Word delimiter graph token filter","https:\u002F\u002Fwww.elastic.co\u002Fdocs\u002Freference\u002Ftext-analysis\u002Fanalysis-word-delimiter-graph-tokenfilter",{"title":884,"url":885},"Elasticsearch documentation: Synonym graph token filter","https:\u002F\u002Fwww.elastic.co\u002Fdocs\u002Freference\u002Ftext-analysis\u002Fanalysis-synonym-graph-tokenfilter",{"title":887,"url":888},"OpenSearch documentation: Score ranker processor (RRF)","https:\u002F\u002Fdocs.opensearch.org\u002Flatest\u002Fsearch-plugins\u002Fsearch-pipelines\u002Fscore-ranker-processor\u002F",{"title":890,"url":891},"OpenSearch documentation: Normalization processor","https:\u002F\u002Fdocs.opensearch.org\u002Flatest\u002Fsearch-plugins\u002Fsearch-pipelines\u002Fnormalization-processor\u002F",{"title":893,"url":894},"Spryker documentation: Search feature overview","https:\u002F\u002Fdocs.spryker.com\u002Fdocs\u002Fpbc\u002Fall\u002Fsearch\u002Flatest\u002Fbase-shop\u002Fsearch-feature-overview\u002Fsearch-feature-overview",{"title":896,"url":897},"Spryker documentation: Migrate from OpenSearch 1.3 to 3.5","https:\u002F\u002Fdocs.spryker.com\u002Fdocs\u002Fpbc\u002Fall\u002Fsearch\u002Flatest\u002Fbase-shop\u002Finstall-and-upgrade\u002Fmigrate-from-opensearch-1.3-to-3.5.html",{"title":899,"url":900},"Instacart via ZenML: Rebuilding query understanding for e-commerce search with LLMs","https:\u002F\u002Fwww.zenml.io\u002Fllmops-database\u002Frebuilding-query-understanding-for-e-commerce-search-with-llms",{"title":902,"url":903},"arXiv: M3-Embedding, multilingual, multi-functionality, multi-granularity text embeddings","https:\u002F\u002Farxiv.org\u002Fabs\u002F2402.03216",{"title":905,"url":906},"Algolia documentation: Search analytics metrics","https:\u002F\u002Fwww.algolia.com\u002Fdoc\u002Fguides\u002Fsearch-analytics\u002Fconcepts\u002Fmetrics\u002F","\u002Fimages\u002Fblog\u002Fsemantic-product-search-b2b\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fsemantic-product-search-b2b\u002Fog.jpg","b2b-ecommerce-developer",[91,92,93],"Szemantikus termékkeresés B2B webshopokban: cikkszámok, hibrid keresés és amit mérned kell","Szemantikus keresés B2B shopban a cikkszámos keresés tönkretétele nélkül: BM25 és vektorok hibridje, szűrők, DE\u002FEN\u002FHU, LLM-es lekérdezés-értelmezés, reranking, mérőszámok.","Diagram: a keresőkérdés azonosító sávra, lexikális BM25-re és vektoros kNN-re oszlik, összefésülődik, újrarangsorolódik, majd találatként jelenik meg.",1791009036601]