http://alpha-thema-online.uv.ro
Fa-ti si tu propriul forum, pe www.myforum.ro!
Pagina de start a forumului http://alpha-thema-online.uv.ro Autentificare Inregistrare FAQ Membri Cautare

Pagina de start a forumului http://alpha-thema-online.uv.ro » Web development » Cautare fulltext cu MS SQL Server SQL
Creaza un subiect nou  Raspunde la subiect Subiectul anterior :: Subiectul urmator 
Cautare fulltext cu MS SQL Server SQL
MesajTrimis: 19/07/2007 17:29 Raspunde cu citat (quote)
Ad_Infinitum
Administrator
Administrator
Ad_Infinitum
Data inscrierii: 23/Iun/2007
Mesaje: 212




Si MS SQL Server are posibilitati de cautare fulltext. Adica poate cauta diferite cuvinte in cimpuri text, inclusiv cu operatii booleane. Pentru asta e trebuință ca la instalarea SQL Server-ului sa alegeri si optiunea de cautare fulltext. Sau daca e instalat deja puteti modifica optiunile folosind wizardul serverului sau prin comenzi.

Intreg procesul instalarii cautarii fulltext este descris la http://msdn.microsoft.com/libr.....search.asp :

use Northwind
exec sp_fulltext_database 'enable'

exec sp_fulltext_catalog 'Cat_Desc', 'create', 'f:ft'

exec sp_fulltext_table 'Categories', 'create', 'Cat_Desc', 'PK_Categories'

exec sp_fulltext_column 'Categories', 'Description', 'add'

exec sp_fulltext_table 'Categories', 'start_full'

Dupa cum se poate vedea se face in mai multi pasi: intii se activeaza optiunea, apoi se creaza catalogul unde sint pastrati indecsii, apoi se creaza un index folosit de cautarea fulltext specificind cimpul folosit, se adauga apoi cimpurile folosite, iar in final se populeaza datele folosite pentru cautarea fulltext.

Aceelasi lucruri se pot face din wizardul SQL Server-ului, in mod vizual.

Dupa acesti pasi puteti folosi cautarile fulltext. Exista 2 comenzi de folosit: CONTAINS si FREETEXT.

Prima forma (CONTAINS) este cea mai utilizata si cere mai putin resurse, executind cautarea unor cuvinte cheie dupa regulile specificate. Aceasta forma returneaza de obicei mai putine efecte pentru ca nu analizeaza interogarile din punctul de vedere al limbii, ci exact cum ati specificat.

A doua forma (FREETEXT) face o analiza mai complexa a cuvintelor de cautat in functie de limba utilizata. O sa consume mai numeroase resurse insa poate returna solutii corecte foarte asemanatoare cu parametrii dati.

Exemple:

SELECT * FROM Products WHERE CONTAINS(Description, 'bottles')

SELECT * FROM Products WHERE CONTAINS(Description, '"bottle*"') = cauta tot ce contine cuvinte ce incep cu 'bottle'

SELECT * FROM Products WHERE CONTAINS(Description, '"bottle*" OR "can*"') = cauta tot ce contine cuvinte ce incep cu 'bottle' sau 'can'

SELECT * FROM Products WHERE CONTAINS(Description, 'bottle AND can') = cauta tot ce contine 'bottle' si 'can'

SELECT * FROM Products WHERE CONTAINS(Description, 'bottle NEAR can') = cauta tot ce contine 'bottle' linga 'can'

SELECT * FROM Products WHERE CONTAINS(Description,' FORMSOF (INFLECTIONAL, dry) ') = cauta inregistrarile care contin ori forma a lui 'dry': dried, drying, dries, etc.

Posibilitatile de cautare fulltext al SQL Server sint mai avansate decit cele de la MySQL. Acest subiect nu este nici pe departe perfect prezentat aici, insa alte detalii si exemple de utilizare a cautarii fulltext cu MS SQL Server o sa fie prezentat intr-un obiect urmator.
Vezi profilul utilizatorului Trimite mesaj privat

Cautare fulltext cu MS SQL Server SQL
 Pagina de start a forumului http://alpha-thema-online.uv.ro » Web development
Nu puteti crea un subiect nou in acest forum
Nu puteti raspunde in subiectele acestui forum
Nu puteti modifica mesajele proprii din acest forum
Nu puteti sterge mesajele proprii din acest forum
Nu puteti vota in chestionarele din acest forum
Ora este GMT + 3 ore  
Pagina 1 din 1  

  
  
 Creaza un subiect nou  Raspunde la subiect  


Fa-ti si tu propriul forum GRATUIT, pe www.myforum.ro
    Powered by phpBB © 2001-2004 phpBB Group. phpBB Skin by Vjacheslav Trushkin.