|
|
KözzétéveTegnap 20:20-kor
|
|
|
|

A teljes szöveges keresés az SQL Server adatbázis motor opcionális része. Ha nem választottad a teljes szöveges keresést az SQL Server telepítésekor az SQL Server telepítőjét, indítsd újra az SQL Server telepítőjét, hogy hozzáadd.
Áttekintés
A teljes szöveges index egy vagy több karakteralapú oszlopot tartalmaz egy táblázatban. Ezek az oszlopok a következő adattípusok bármelyikét tartalmazhatják: char, varchar, nchar, nvarchar, text, ntext, image, xml vagy varbinary(max), valamint FILESTREAM. Minden teljes szöveges index egy vagy több oszlophoz hoz létre egy indexet a táblázatban, és minden oszlop használhat egy adott nyelvet.
A teljes szöveges lekérdezések a szavakon és kifejezéseken az adott nyelvek (például angol vagy japán) szabályai szerint működnek, így a teljes szöveg indexben szereplő szövegadatok alapján végeznek nyelvi kereséseket. A teljes szöveges lekérdezések tartalmazhatnak egyszerű szavakat és kifejezéseket, vagy többféle szó- vagy kifejezésformát. Egy teljes szöveges lekérdezés minden olyan dokumentumot ad vissza, amely legalább egy egyezést tartalmaz (más néven "találat"). Az egyezés akkor történik, amikor a céldokumentum tartalmazza a teljes szöveges lekérdezésben megadott összes kifejezést, és egyezik bármely más keresési feltétellel (például a megfelelő kifejezések közötti távolsággal).
Linux Docker MSSQL 2022 Teljes szöveges keresőszolgáltatás telepítése
A hivatkozások a következők:
Ellenőrizd, telepítve van-e az SQL SERVER teljes szöveges kereső funkciója
A parancs a következő:
SQL Server teljes szöveges keresés, teljes szöveges index
Először hozzon létre egy új tesztkönyvtárat, és beillesztse tesztadatokat. A szkript a következő:
Teljes szöveges tartalomjegyzék létrehozása
A teljes szöveges index tárolására teljes szöveges tartalomjegyzéket használnak. Közvetlenül a következő szkriptekkel készítheted el:
Teljes szöveges indexek létrehozása adatbázis táblákhoz
Amikor teljes szöveges indexet hoznak létre egy adatbázis táblához, meg kell határoznod a megfelelő nyelvet. Mivel a szószegmentálás nyelvenként eltérő, az SQL Server a megfelelő nyelv szószegmentálását használja a táblázatban szereplő adatok feldolgozásához. Az SQL Server teljes szöveges keresése körülbelül 50 különböző nyelvet támogat, így az összes támogatott nyelvet megtekintheted sys.fulltext_languages táblák lekérdezésével. Parancsnokság:
Ahogy az alábbiakban látható:
Ezután teljes szöveges indexet adunk hozzá a kínai egyszerűsített nyelvhez a Hírek táblázat Cím és Tartalom mezőihez:
Teljes szöveges keresés predikátumokra és függvényekre
A teljes szöveges lekérdezések teljes szöveges predikátumokat használnak (TARTALMAZZAésFREETEXT) és teljes szöveges függvények (CONTAINSTABLEésFREETEXTTABLE)。 Támogatják a komplex Transact-SQL szintaxist, amely különféle lekérdezési kifejezéseket támogat.
A különbség a CONTAINS és a FREETEXT között
CONTAINS: A hiperlink bejelentkezés látható.
Használj pontos párosítási módszereket, hogy megtaláld a szövegben lévő konkrét szavakat vagy kifejezéseket. Támogatja a bonyolult lekérdezési feltételeket, mint például a közelségi keresés (például a szavaknak egymás közelében kell megjelenniük), előtagkeresést és még sok mást. Általában olyan helyzetekben használják, ahol konkrétabb kontrollra van szükség a keresési eredmények felett.
FREETEXT: A hiperlink bejelentkezés látható.
Rugalmasabb és természetes nyelvalapú keresési élményt nyújt. Nem szükséges külön keresési kritériumok; Automatikusan elemzi a bemeneti szöveget, és megpróbálja megtalálni a kapcsolódó tartalmat. Inkább azoknak a felhasználóknak való, akik egyszerű kulcsszókereséseket szeretnének végezni, mint a Google, anélkül, hogy aggódnának konkrét helyek vagy formátumok miatt.
A parancsok a következők:
Ahogy az alábbiakban látható:
CONTAINSTABLE és FREETEXTTABLE
A CONTAINSTABLE olyan táblázatokat ad vissza, amelyek megfelelnek a lekérdezési kritériumoknak. SQL utasításokban ezeket normál tábláként kezelhetjük, míg a CONTAINSTABLE lekérdezések minden sorhoz RANK értéket és KULCSOT adnak vissza. A RANK a korrelációs egyezés mértékének megjelölésére szolgál, az értékek 0~1000 között vannak, és a KEY a fő tábla azonosítója. A FREETEXTTABLE először szegmentálja a lekérdezésre szánt szavakat és mondatokat, majd az egyezésre vonatkozó lekérdezéseket. A parancs a következő:
Ahogy az alábbiakban látható:
Emellett a szegmentálási eredményeket ellenőrizheted sys.dm_fts_parser lekérdezéssel:
Ahogy az alábbiakban látható:
kiad
Kérdés: A CONTAINS alapértelmezés szerint nem támogatja a homályos lekérdezéseket. Ha beírod a CONTAINS(oszlop, 'apple'), az megegyezik a gyökérszóval (pl. apples), de nem a pineapple-lel. Megoldás: Ha homályos lekérdezésekre van szükség, azokat a wildcard előtt és után kell helyezniHozzáadj dupla idézőjelet és csillagot:CONTAINS(oszlop, '"*apple*"')
Utalás:
A hiperlink bejelentkezés látható.
A hiperlink bejelentkezés látható. |
Előző:Távmunka, munka és szabadúszó munkaplatform weboldal
|