Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Megjegyzés
Azure AI Keresés a Azure portálon, REST API-kon és Azure SDK-k keresztül érhető el. Emellett a Foundry IQ-t is támogatja, amely a vállalati tartalmakat újrafelhasználható, engedélytudatos tudásbázisokká alakítja át az Microsoft Foundry portálon található ügynökök számára.
Fontos
Az (előzetes verzióban) megjelölt funkciókra, képességekre vagy tulajdonságokra nem vonatkozik szolgáltatási szintű szerződés, nem ajánlott éles számítási feladatokhoz, és az általános elérhetővé válásuk előtt változhatnak vagy korlátozhatók. Az Azure AI Keresés előzetes verziójú kifejezések az összes előzetes verziós funkcióra vonatkoznak, függetlenül attól, hogy önálló vagy egy általánosan elérhető funkció része.
Fontos
Ezek a funkciók és szolgáltatások támogatják a más Microsoft-szolgáltatásokhoz és harmadik féltől származó szolgáltatásokhoz való kapcsolódást. Ezeknek a szolgáltatásoknak a használatára a vonatkozó feltételek vonatkoznak, és a Azure megfelelőségi határán kívüli adatfeldolgozást vagy tárolást, valamint a Azure megfelelőségi határba történő adatáramlást eredményezhetnek.
Az Ön felelőssége annak kezelése, hogy az adatok a szervezet megfelelőségi és földrajzi határain kívülre áramlanak-e, valamint hogy a megfelelő engedélyek, határok és jóváhagyások ki vannak-e építve.
Ön a felelős azért, hogy gondosan áttekintse és tesztelje azokat az alkalmazásokat, amelyeket az adott használati esetek kontextusában hoz létre, és minden megfelelő döntést és testreszabást meghoz. Ez magában foglalja a saját, felelős mesterségesintelligencia-csökkentő megoldások, például metapromptok, tartalomszűrők vagy egyéb biztonsági rendszerek implementálását, valamint annak biztosítását, hogy az alkalmazások megfeleljenek a megfelelő minőségi, megbízhatósági, biztonsági és megbízhatósági szabványoknak. További információ: Azure AI Keresés Átláthatósági megjegyzés.
Az Azure Database for MySQL indexelő (előzetes verzió) Azure Database for MySQL rugalmas kiszolgálóról importál tartalmat egy Azure AI Keresés indexbe. Az indexelő bemenetei egyetlen tábla vagy nézet sorai. A kimenet egy keresési index, amelyben az egyes mezőkben kereshető tartalom található.
Ez a cikk kiegészíti Az indexelő létrehozása olyan információkkal, amelyek Azure Database for MySQL rugalmas kiszolgálóról történő indexelésre vonatkoznak. A REST API-k segítségével egy háromrészes munkafolyamatot mutat be, amely az összes indexelőre jellemző: adatforrás létrehozása, index létrehozása, indexelő létrehozása. Az adatkinyerés az Indexelő létrehozása kérés elküldésekor történik.
Ha magas vízjel határra és puha törlésre van konfigurálva, az indexelő kezeli a MySQL-adatbázis összes módosítási, feltöltési és törlési folyamatát. A keresési index változásait tükrözi. Az adatkinyerés az Indexelő létrehozása kérés elküldésekor történik.
Előfeltételek
Töltse ki az indexelő előzetes regisztrációs űrlapot. A regisztráció automatikusan jóváhagyásra kerül.
Azure Database for MySQL Flexible Server és mintaadatok. Az adatoknak egy táblában vagy nézetben kell lenniük. Elsődleges kulcsra van szükség. Ha nézetet használ, annak magas vízjeloszlopot kell tartalmaznia.
Olvasási engedélyek. A teljes hozzáférés kapcsolati karakterlánc tartalmaz egy kulcsot, amely hozzáférést biztosít a tartalomhoz, de ha Azure szerepköröket használ, győződjön meg arról, hogy a search szolgáltatás felügyelt identitása rendelkezik Reader engedélyekkel a MySQL-en.
EGY REST-ügyfél, amely létrehozza az adatforrást, az indexet és az indexelőt.
A .NET Azure SDK is használható. Az indexelők létrehozásához nem használhatja a Azure portált, de a létrehozásuk után kezelheti az indexelőket és az adatforrásokat.
Előzetes verzióra vonatkozó korlátozások
A változáskövetés és a törlésészlelés jelenleg nem működik, ha a dátum vagy az időbélyeg minden sorban egységes. Ez a korlátozás egy ismert probléma, amelyet az előzetes verzió frissítésében kell elhárítani. A probléma megoldásáig ne adjon hozzá készségkészletet a MySQL-indexelőhöz.
Az előzetes verzió nem támogatja a geometriatípusokat és a blobokat.
Mint említettük, az indexelők létrehozásához nincs portáltámogatás, de a MySQL-indexelők és -adatforrások a Azure portálon kezelhetők, ha már léteznek. Szerkesztheti például a definíciókat, és alaphelyzetbe állíthatja, futtathatja vagy ütemezheti az indexelőt.
Az adatforrás meghatározása
Az adatforrás definíciója meghatározza az indexelendő adatokat, valamint a hitelesítő adatokat és a szabályzatokat az adatok változásainak azonosításához. Az adatforrás független erőforrásként van definiálva, így több indexelő is használhatja.
Az adatforrás létrehozása vagy frissítése határozza meg a definíciót. Az adatforrás létrehozásakor mindenképpen használjon előzetes REST API-t.
{
"name" : "hotel-mysql-ds",
"description" : "[Description of MySQL data source]",
"type" : "mysql",
"credentials" : {
"connectionString" :
"Server=[MySQLServerName].MySQL.database.azure.com; Port=3306; Database=[DatabaseName]; Uid=[UserName]; Pwd=[Password]; SslMode=Preferred;"
},
"container" : {
"name" : "[TableName]"
},
"dataChangeDetectionPolicy" : {
"@odata.type": "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy",
"highWaterMarkColumnName": "[HighWaterMarkColumn]"
}
}
Főbb pontok:
Állítsa be a (kötelező) értéket
type"mysql".Állítsa
credentialsADO.NET kapcsolati karakterláncra. Az Azure portálon a Kapcsolódási sztringek oldalon találhatók a MySQL kapcsolati sztringjei.Állítsa be
containera tábla nevét.Adja meg
dataChangeDetectionPolicy, hogy az adatok változékonyak-e, és azt szeretné, hogy az indexelő csak az új és frissített elemeket vegye fel a későbbi futtatások során.Ha szeretné eltávolítani a keresési dokumentumokat a keresési indexből, amikor a forráselem törlődik, adja meg a
dataDeletionDetectionPolicybeállítást.
Megjegyzés
A tárolónév tulajdonság esetében az érték csak betűk, számok, aláhúzásjelek (_), pontok (.), egykötőjelek (-) és szögletes zárójelek ([]) engedélyezésére korlátozódik.
Index létrehozása
Az indexséma létrehozása vagy frissítése :
{
"name" : "hotels-mysql-ix",
"fields": [
{ "name": "ID", "type": "Edm.String", "key": true, "searchable": false },
{ "name": "HotelName", "type": "Edm.String", "searchable": true, "filterable": false },
{ "name": "Category", "type": "Edm.String", "searchable": false, "filterable": true, "sortable": true },
{ "name": "City", "type": "Edm.String", "searchable": false, "filterable": true, "sortable": true },
{ "name": "Description", "type": "Edm.String", "searchable": false, "filterable": false, "sortable": false }
]
}
Ha a forrástábla elsődleges kulcsa megegyezik a dokumentumkulcstal (ebben az esetben az "ID"), az indexelő importálja az elsődleges kulcsot dokumentumkulcsként.
Adattípusok leképezése
Az alábbi táblázat megfelelteti a MySQL-adatbázist Azure AI Keresés megfelelőknek. További információért, lásd: Támogatott adattípusok (Azure AI Keresés).
Megjegyzés
Az előzetes verzió nem támogatja a geometriatípusokat és a blobokat.
| MySQL-adattípusok | Azure AI Keresés mezőtípusok |
|---|---|
bool, boolean |
Edm.Boolean, Edm.String |
tinyint, smallint, mediumint, intintegeryear |
Edm.Int32, Edm.Int64, Edm.String |
bigint |
Edm.Int64, Edm.String |
| \ |
Edm.Double, Edm.String |
| \ |
Edm.DateTimeOffset, Edm.String |
char, varchar, tinytext, mediumtexttext, longtext, enum, , settime |
Edm.String |
| előjel nélküli numerikus adatok, soros, decimális, tizedes, bit, blob, bináris, geometria | N/A |
A MySQL-indexelő konfigurálása és futtatása
Az index és az adatforrás létrehozása után készen áll az indexelő létrehozására. Az indexelő konfigurációja meghatározza a futási idő viselkedését vezérlő bemeneteket, paramétereket és tulajdonságokat.
Hozzon létre vagy frissítsen egy indexelőt úgy, hogy megad neki egy nevet, és hivatkozik az adatforrásra és a célindexre:
{
"name" : "hotels-mysql-idxr",
"dataSourceName" : "hotels-mysql-ds",
"targetIndexName" : "hotels-mysql-ix",
"disabled": null,
"schedule": null,
"parameters": {
"batchSize": null,
"maxFailedItems": null,
"maxFailedItemsPerBatch": null,
"base64EncodeKeys": null,
"configuration": { }
},
"fieldMappings" : [ ],
"encryptionKey": null
}
Főbb pontok:
Mezőleképezéseket adhat meg , ha a mezőnév vagy a típus eltérést mutat, vagy ha egy forrásmező több verziójára van szüksége a keresési indexben.
Az indexelő automatikusan fut a létrehozásakor. Ha beállítja a
disabled, megakadályozhatja atruefuttatását. Az indexelő futtatásának szabályozása érdekében futtasson egy indexelőt folyamatosan, vagy ütemezze azt.
Indexelő állapotának ellenőrzése
Indexelő állapotának lekérése kérés küldése az indexelő végrehajtásának figyeléséhez:
GET https://myservice.search.windows.net/indexers/myindexer/status?api-version=2026-08-01-preview
Content-Type: application/json
api-key: [admin key]
A válasz tartalmazza az állapotot és a feldolgozott elemek számát. A következő példához hasonlóan kell kinéznie:
{
"status":"running",
"lastResult": {
"status":"success",
"errorMessage":null,
"startTime":"2024-02-21T00:23:24.957Z",
"endTime":"2024-02-21T00:36:47.752Z",
"errors":[],
"itemsProcessed":1599501,
"itemsFailed":0,
"initialTrackingState":null,
"finalTrackingState":null
},
"executionHistory":
[
{
"status":"success",
"errorMessage":null,
"startTime":"2024-02-21T00:23:24.957Z",
"endTime":"2024-02-21T00:36:47.752Z",
"errors":[],
"itemsProcessed":1599501,
"itemsFailed":0,
"initialTrackingState":null,
"finalTrackingState":null
},
... earlier history items
]
}
A végrehajtási előzmények legfeljebb 50 legutóbbi végrehajtást tartalmaznak, amelyek fordított időrendi sorrendben vannak rendezve, hogy a legújabb végrehajtás legyen az első.
Új és módosított sorok indexelése
Miután egy indexelő kitöltött egy keresési indexet, érdemes lehet, hogy a későbbi indexelők növekményesen indexeljenek csak az adatbázis új és módosított sorait.
A növekményes indexelés engedélyezéséhez állítsa be a dataChangeDetectionPolicy tulajdonságot az adatforrás definíciójában. Ez a tulajdonság tájékoztatja az indexelőt, hogy melyik változáskövetési mechanizmust használja az adatokon.
Azure Database for MySQL indexelők esetében az egyetlen támogatott szabályzat a HighWaterMarkChangeDetectionPolicy.
Az indexelő változásészlelési szabályzata egy magas vízjelű oszlopra támaszkodik, amely rögzíti a sor verzióját, vagy a sor utolsó frissítésének dátumát és időpontját. Ez gyakran egy DATE, DATETIMEvagy TIMESTAMP oszlop olyan részletességgel, amely elegendő a magas vízjelű oszlop követelményeinek való megfeleléshez.
A MySQL-adatbázisban a magas vízjel oszlopnak meg kell felelnie az alábbi követelményeknek:
- Minden adatbeszúrásnak meg kell adnia az oszlop értékét.
- Az elem minden frissítése az oszlop értékét is módosítja.
- Az oszlop értéke minden beszúrással vagy frissítéssel nő.
- A következő
WHEREésORDER BYzáradékokkal rendelkező lekérdezések hatékonyan végrehajthatók:WHERE [High Water Mark Column] > [Current High Water Mark Value] ORDER BY [High Water Mark Column]
Az alábbi példa egy változásészlelési szabályzattal rendelkező adatforrásdefiníciót mutat be:
{
"name" : "[Data source name]",
"type" : "mysql",
"credentials" : { "connectionString" : "[connection string]" },
"container" : { "name" : "[table or view name]" },
"dataChangeDetectionPolicy" : {
"@odata.type" : "#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy",
"highWaterMarkColumnName" : "[last_updated column name]"
}
}
Fontos
Ha nézetet használ, magas vízjelszabályzatot kell beállítania az indexelő adatforrásában.
Ha a forrástábla nem rendelkezik indexel a magas vízjel oszlopban, a MySQL-indexelő által használt lekérdezések időtúllépést eredményezhetnek. A záradék megköveteli, hogy az ORDER BY [High Water Mark Column] index hatékonyan fusson, ha a tábla sok sort tartalmaz.
Törölt sorok indexelése
Ha sorokat töröl a táblázatból vagy a nézetből, általában ezeket a sorokat is törölni szeretné a keresési indexből. Ha azonban a sorok fizikailag törlődnek a táblából, az indexelőnek nincs módja arra, hogy a már nem létező rekordok jelenlétét következtethesse. A megoldás egy puha törlési technika használata sorok logikai törlésére anélkül, hogy eltávolítaná őket a táblából. Adjon hozzá egy oszlopot a táblához, vagy tekintse meg és jelölje meg a sorokat töröltként az adott oszlop használatával.
A törlési állapotot biztosító oszlop miatt az indexelő konfigurálható úgy, hogy eltávolítsa azokat a keresési dokumentumokat, amelyekre a törlési állapot be van állítva true. Az ezt a viselkedést támogató konfigurációs tulajdonság egy adattörlési észlelési szabályzat, amely az adatforrás definíciójában az alábbiak szerint van megadva:
{
…,
"dataDeletionDetectionPolicy" : {
"@odata.type" : "#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy",
"softDeleteColumnName" : "[a column name]",
"softDeleteMarkerValue" : "[the value that indicates that a row is deleted]"
}
}
A softDeleteMarkerValue karakterláncnak kell lennie. Ha például van egy egész szám oszlopa, amelyben a törölt sorok 1 értékkel vannak megjelölve, használja a következőt "1": . Ha olyan oszlopa van BIT , amelyben a törölt sorok logikai igaz értékkel vannak megjelölve, használja a sztringkonstanst True vagy true (az eset nem számít).
Következő lépések
Most már futtathatja az indexelőt, figyelheti az állapotot vagy ütemezheti az indexelő végrehajtását. Az alábbi cikkek olyan indexelőkre vonatkoznak, amelyek tartalmat kérnek le Azure MySQL-ből: