sql >> Databáze >  >> RDS >> Sqlserver

V tabulce nebo indexovaném zobrazení nelze použít predikát CONTAINS nebo FREETEXT, protože není fulltextově indexován.

  1. Ujistěte se, že máte nainstalovanou funkci fulltextového vyhledávání.

  1. Vytvořte katalog fulltextového vyhledávání (v případě potřeby)

    Nejprve zkontrolujte, zda již nějaký katalog neexistuje

      select *
      from sys.fulltext_catalogs
    

    Pokud není nalezen žádný katalog, vytvořte jej

      use [DatabaseName]
      create fulltext catalog FullTextCatalog as default
    

    můžete ověřit, že katalog byl vytvořen stejným způsobem jako výše

  2. Vytvořte index fulltextového vyhledávání.

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

    Před vytvořením indexu se ujistěte, že:
    - v tabulce již nemáte index fulltextového vyhledávání, protože v tabulce je povolen pouze jeden index fulltextového vyhledávání
    - existuje jedinečný index na stůl. Index musí být založen na sloupci s jedním klíčem, který neumožňuje hodnotu NULL.
    - existuje fulltextový katalog. Pokud neexistuje žádný výchozí fulltextový katalog, musíte explicitně zadat název fulltextového katalogu.

Kroky 2 a 3 můžete provést v SQL Server Management Studio. V průzkumníku objektů klikněte pravým tlačítkem na tabulku a vyberte Full-Text index položku nabídky a poté Define Full-Text Index... položka podnabídky. Celým procesem vás provede průvodce fulltextovým indexováním. Pokud ještě žádný nemáte, vytvoří vám katalog fulltextového vyhledávání.

Více informací naleznete na MSDN

Po provedení kroků potřebujete několik minut k vytvoření indexu fulltextového vyhledávání (závisí to na velikosti tabulky a dat sloupců)



  1. Rozumíte segmentům Lob (SYS_LOB) v oracle?

  2. Základy tabulkových výrazů, část 8 – CTE, úvahy o optimalizaci pokračovaly

  3. Zlepšení horního / horního sestupného středního řešení

  4. Mysql vybrat odlišné