Adatimportálás az Azure AI Searchben
Az Azure AI Searchben a lekérdezések a keresési indexbe betöltött, felhasználó által birtokolt tartalomon futnak. Ez a cikk az indexek feltöltésének két alapvető munkafolyamatát ismerteti: az adatokat programozott módon kell leküldni az indexbe, vagy lekérni az adatokat egy keresési indexelő használatával.
Mindkét módszer egy külső adatforrásból tölti be a dokumentumokat. Bár létrehozhat egy üres indexet, a tartalom hozzáadásáig nem kérdezhető le.
Feljegyzés
Ha az AI-bővítés vagy az integrált vektorizálás megoldási követelmények, az index betöltéséhez a lekéréses modellt (indexelőket) kell használnia. A képességkészletek indexelőkhöz vannak csatolva, és nem futnak egymástól függetlenül.
Adatok elküldése egy indexbe
A leküldéses modell egy olyan megközelítés, amely API-kkal tölti fel a dokumentumokat egy meglévő keresési indexbe. A dokumentumokat kötegenként egyenként vagy kötegenként legfeljebb 1000, kötegenként 16 MB-ig töltheti fel, attól függően, hogy melyik korlát az első.
A következő fő előnyöket nyújtják:
Nincs korlátozás az adatforrás típusára. A hasznos adatoknak olyan JSON-dokumentumokból kell állniuk, amelyek megfeleltetik az indexsémát, de az adatok bárhonnan származhatnak.
Nincs korlátozás a végrehajtás gyakoriságára. Tetszőleges gyakorisággal továbbíthat módosításokat az indexeknek. Az alacsony késési követelményekkel rendelkező alkalmazások esetében (például ha az indexnek szinkronban kell lennie a termékleltár-ingadozásokkal), a leküldéses modell az egyetlen lehetőség.
A kapcsolatok és a dokumentumok biztonságos lekérése teljes mértékben Ön felügyelete alatt áll. Ezzel szemben az indexelő kapcsolatok hitelesítése az Azure AI Searchben biztosított biztonsági funkciókkal történik.
Adatok leküldése Azure AI Search-indexbe
Az alábbi API-k segítségével tölthet be egy vagy több dokumentumot egy indexbe:
- Dokumentumok indexelése (REST API)
- IndexDocumentsAsync (Azure SDK for .NET) vagy SearchIndexingBufferedSender
- IndexDocumentsBatch (Azure SDK for Python) vagy SearchIndexingBufferedSender
- IndexDocumentsBatch (Java Azure SDK) vagy SearchIndexingBufferedSender
- IndexDocumentsBatch (JavaScripthez vagy SearchIndexingBufferedSenderhez készült Azure SDK
Az Adatok az Azure Portalon keresztül történő leküldése nem támogatott.
A leküldéses API-k bemutatása:
- Rövid útmutató: Teljes szöveges keresés az Azure SDK-k használatával
- C# oktatóanyag: Indexelés optimalizálása a leküldéses API-val
- REST rövid útmutató: Azure AI Search-index létrehozása a PowerShell használatával
Indexelési műveletek: feltöltés, egyesítés, mergeOrUpload, törlés
Az indexelési művelet típusát dokumentumonként szabályozhatja, megadva, hogy a dokumentumot teljes egészében fel kell-e tölteni, össze kell-e egyesíteni a meglévő dokumentumtartalommal, vagy törölni kell őket.
Akár REST API-t, akár Azure SDK-t használ, az adatimportáláshoz a következő dokumentumműveletek támogatottak:
Feltöltés, hasonló egy "upsert"-hez, ahol a dokumentum be lesz szúrva, ha új, és ha létezik, frissítve vagy lecserélve. Ha a dokumentum nem rendelkezik az index által igényelt értékekkel, a dokumentummező értéke null értékre van állítva.
az egyesítés frissíti a már létező dokumentumot, és nem találja a dokumentumot. Az egyesítés lecseréli a meglévő értékeket. Ezért mindenképpen ellenőrizze, hogy a gyűjteménymezők több értéket tartalmaznak-e, például a típusmezőket
Collection(Edm.String)
. Ha például egytags
mező egy értékével["budget"]
kezdődik, és egyesítést["economy", "pool"]
hajt végre, akkor atags
mező végső értéke .["economy", "pool"]
Nem lesz["budget", "economy", "pool"]
.A mergeOrUpload úgy viselkedik, mint az egyesítés , ha a dokumentum létezik, és feltölti , ha a dokumentum új.
törlés eltávolítja a teljes dokumentumot az indexből. Ha el szeretne távolítani egy egyéni mezőt, használja az egyesítést , és állítsa a kérdéses mezőt null értékre.
Adatok lekérése indexbe
A lekéréses modell egy támogatott adatforráshoz csatlakozó indexelőket használ, és automatikusan feltölti az adatokat az indexbe. A Microsoft indexelői az alábbi platformokon érhetők el:
- Azure Blob Storage
- Azure Table storage
- Azure Data Lake Storage Gen2
- Azure Files (előzetes verzió)
- Azure Cosmos DB
- Azure SQL Database, felügyelt SQL-példány és SQL Server Azure-beli virtuális gépeken
- OneLake-fájlok és parancsikonok
- SharePoint Online (előzetes verzió)
Használhat külső összekötőket, amelyeket a Microsoft-partnerek fejlesztettek ki és tartanak karban. További információkért és hivatkozásokért tekintse meg az Adatforrástárat.
Az indexelők indexeket csatlakoztatnak az adatforrásokhoz (általában táblákhoz, nézetekhez vagy ezekkel egyenértékű struktúrákhoz), és leképezik a forrásmezőket a megfelelő mezőkre az indexben. A végrehajtás során a sorkészlet automatikusan át lesz alakítva JSON formátumba, és be lesz töltve a meghatározott indexbe. Minden indexelő támogatja az ütemezést, így megadhatja, hogy milyen gyakran kell frissíteni az adatokat. A legtöbb indexelő biztosít változáskövetési funkciókat, ha az adatforrás támogatja azokat. Az új dokumentumok felismerésén kívül az indexelők a meglévő dokumentumok módosításainak és a törléseinek nyomon követésével küszöbölik ki az aktív adatkezelés szükségességét az indexben.
Adatok lekérése Azure AI Search-indexbe
Az indexelőalapú indexeléshez használja az alábbi eszközöket és API-kat:
- Adatok importálása varázsló vagy Adatok importálása és vektorizálása varázsló
- REST API-k: Indexelő létrehozása (REST), Adatforrás létrehozása (REST), Index létrehozása (REST)
- Azure SDK for .NET: SearchIndexer, SearchIndexerDataSourceConnection, SearchIndex,
- Azure SDK for Python: SearchIndexer, SearchIndexerDataSourceConnection, SearchIndex,
- Azure SDK for Java: SearchIndexer, SearchIndexerDataSourceConnection, SearchIndex,
- JavaScripthez készült Azure SDK: SearchIndexer, SearchIndexerDataSourceConnection, SearchIndex,
Az indexelő funkciója az [Azure Portalon], a REST API-ban és a .NET SDK-ban érhető el.
Az Azure Portal használatának előnye, hogy az Azure AI Search általában létrehozhat egy alapértelmezett indexsémát a forrásadatkészlet metaadatainak olvasásával.
Adatimportálás ellenőrzése a Kereséskezelővel
A dokumentumfeltöltés előzetes ellenőrzésének gyors módja a Kereséskezelő használata az Azure Portalon.
A keresési ablak segítségével bármiféle kód írása nélkül kérdezheti le az indexeket. A keresési funkció alapértelmezett beállításokon alapul, mint az egyszerű szintaxis és az alapértelmezett searchMode lekérdezési paraméter. A rendszer az eredményeket JSON-formátumban adja vissza, így a teljes dokumentum vizsgálható.
Íme egy példa lekérdezés, amelyet a Search Explorerben futtathat JSON nézetben. A "HotelId" a hotels-sample-index dokumentumkulcsa. A szűrő egy adott dokumentum dokumentumazonosítóját adja meg:
{
"search": "*",
"filter": "HotelId eq '50'"
}
Ha REST-et használ, ez a Keresési lekérdezés ugyanazt a célt szolgálja.