Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 29|Válasz: 2

[Tippek] (MSSQL) SQL Server teljes szöveges keresés, teljes szöveges index

[Linket másol]
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:
Docker MSSQL 2022 telepíti a teljes szöveges keresési szolgáltatást
https://www.itsvse.com/thread-10857-1-1.html

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
 Háziúr| Közzétéve2 perce |
 Háziúr| Közzétéve58 másodperccel ezelőtt |
Az EF Core teljes szöveges keresési funkciót használA hiperlink bejelentkezés látható.
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com