sql >> Databasteknik >  >> RDS >> Sqlserver

Kan inte använda ett CONTAINS- eller FREETEXT-predikat i tabell eller indexerad vy eftersom det inte är fulltextindexerat

  1. Se till att du har en fulltextsökfunktion installerad.

  1. Skapa en sökkatalog i fulltext (om det behövs)

    Kontrollera först om någon katalog redan finns

      select *
      from sys.fulltext_catalogs
    

    Om ingen katalog hittas skapa en

      use [DatabaseName]
      create fulltext catalog FullTextCatalog as default
    

    du kan verifiera att katalogen skapades på samma sätt som ovan

  2. Skapa sökindex i fulltext.

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

    Innan du skapar indexet, se till att:
    - du inte redan har fulltextsökindex i tabellen eftersom endast ett fulltextsökindex tillåts i en tabell
    - ett unikt index finns på bordet. Indexet måste baseras på kolumn med en nyckel, som inte tillåter NULL.
    - fulltextkatalog finns. Du måste ange ett fullständigt katalognamn uttryckligen om det inte finns någon standardfulltextkatalog.

Du kan göra steg 2 och 3 i SQL Server Management Studio. I objektutforskaren, högerklicka på en tabell, välj Full-Text index menyalternativ och sedan Define Full-Text Index... undermenyalternativ. Fulltextindexeringsguiden guidar dig genom processen. Det kommer också att skapa en fulltextsökningskatalog åt dig om du inte har någon ännu.

Du kan hitta mer information på MSDN

Efter att ha följt stegen behöver du några minuter så att hela textsökningsindexet skapas (detta beror på storleken på tabellen och kolumndata)



  1. Räknar antalet sammanfogade rader i vänster sammanfogning

  2. VÄLJ * DÄR INTE FINNS

  3. Postgres lösenordsautentisering misslyckas

  4. Hur Div() fungerar i PostgreSQL