sql >> Database >  >> RDS >> Sqlserver

Kan een CONTAINS- of FREETEXT-predikaat niet gebruiken voor een tabel of geïndexeerde weergave omdat deze niet in volledige tekst is geïndexeerd

  1. Zorg ervoor dat de zoekfunctie voor volledige tekst is geïnstalleerd.

  1. Maak full-text zoekcatalogus (indien nodig)

    Controleer eerst of er al een catalogus bestaat

      select *
      from sys.fulltext_catalogs
    

    Als er geen catalogus wordt gevonden, maak er dan een aan

      use [DatabaseName]
      create fulltext catalog FullTextCatalog as default
    

    u kunt controleren of de catalogus op dezelfde manier is gemaakt als hierboven

  2. Maak een zoekindex voor volledige tekst.

      create fulltext index on Production.ProductDescription(Description)
      key index PK_ProductDescription_ProductDescriptionID
    

    Voordat u de index aanmaakt, moet u ervoor zorgen dat:
    - u niet al een zoekindex voor volledige tekst in de tabel heeft, aangezien er slechts één zoekindex voor volledige tekst is toegestaan ​​op een tabel
    - er een unieke index bestaat op de tafel. De index moet gebaseerd zijn op een kolom met één sleutel, waarbij NULL niet is toegestaan.
    - full-text catalogus bestaat. U moet de volledige-tekstcatalogusnaam expliciet specificeren als er geen standaard volledige-tekstcatalogus is.

U kunt stap 2 en 3 uitvoeren in SQL Server Management Studio. Klik in de objectverkenner met de rechtermuisknop op een tabel, selecteer Full-Text index menu-item en vervolgens Define Full-Text Index... submenu-item. De wizard voor het indexeren van volledige tekst leidt u door het proces. Het zal ook een full-text zoekcatalogus voor je maken als je er nog geen hebt.

U kunt meer informatie vinden op MSDN

Na het volgen van de stappen heeft u enkele minuten nodig om de zoekindex voor volledige tekst te maken (dit hangt af van de grootte van de tabel- en kolomgegevens)



  1. Hoe SQL Server-database exporteren naar MySQL?

  2. Datums tussen een reeks datums ophalen

  3. De beste manier om XML-gegevens te versnipperen in SQL Server-databasekolommen

  4. Database-ontwerp:het rekeningsaldo berekenen