Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Nie można użyć predykatu CONTAINS lub FREETEXT w tabeli lub widoku indeksowanym, ponieważ nie jest indeksowany pełnotekstowo

  1. Upewnij się, że masz zainstalowaną funkcję wyszukiwania pełnotekstowego.

  1. Utwórz katalog wyszukiwania pełnotekstowego (w razie potrzeby)

    Najpierw sprawdź, czy jakiś katalog już istnieje

      select *
      from sys.fulltext_catalogs
    

    Jeśli nie zostanie znaleziony żaden katalog, utwórz go

      use [DatabaseName]
      create fulltext catalog FullTextCatalog as default
    

    możesz sprawdzić, czy katalog został utworzony w taki sam sposób jak powyżej

  2. Utwórz indeks wyszukiwania pełnotekstowego.

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

    Przed utworzeniem indeksu upewnij się, że:
    - nie masz już indeksu wyszukiwania pełnotekstowego w tabeli, ponieważ w tabeli jest dozwolony tylko jeden indeks wyszukiwania pełnotekstowego
    - istnieje unikalny indeks stół. Indeks musi być oparty na kolumnie z jednym kluczem, która nie zezwala na NULL.
    - istnieje katalog pełnotekstowy. Musisz jawnie określić nazwę katalogu pełnotekstowego, jeśli nie ma domyślnego katalogu pełnotekstowego.

Kroki 2 i 3 można wykonać w programie SQL Sever Management Studio. W eksploratorze obiektów kliknij prawym przyciskiem myszy tabelę, wybierz Full-Text index element menu, a następnie Define Full-Text Index... pozycja podmenu. Kreator indeksowania pełnotekstowego przeprowadzi Cię przez cały proces. Utworzy również dla Ciebie katalog wyszukiwania pełnotekstowego, jeśli jeszcze go nie masz.

Więcej informacji znajdziesz w MSDN

Po wykonaniu tych kroków potrzebujesz kilku minut, aby utworzyć indeks wyszukiwania pełnotekstowego (zależy to od rozmiaru tabeli i danych kolumn)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dlaczego kwerenda Microsoft SQL Server 2012 zajmuje kilka minut w porównaniu z JDBC 4.0, ale sekundy w Management Studio?

  2. Czy istnieje sposób, aby nie używać nawiasów kwadratowych w SQL Server?

  3. Korzystanie z kolumny porządku sortowania w tabeli bazy danych

  4. Praktyczny wybór procesorów dla obciążeń SQL Server 2014/2016 OLTP

  5. Jak usunąć z wielu tabel za pomocą INNER JOIN na serwerze SQL?