Skip to content
Advertisement

Cannot use a CONTAINS or FREETEXT predicate on table or indexed view because it is not full-text indexed

I am getting following error in my SQL server 2008 R2 database:

Cannot use a CONTAINS or FREETEXT predicate on table or indexed view ‘tblArmy’ because it is not full-text indexed.

Advertisement

Answer

  1. Make sure you have full-text search feature installed.

Full-Text Search setup

  1. Create full-text search catalog (if needed)

    First check if any catalog already exists

    If no catalog is found create one

    you can verify that the catalog was created in the same way as above

  2. Create full-text search index.

    Before you create the index, make sure:
    – you don’t already have full-text search index on the table as only one full-text search index allowed on a table
    – a unique index exists on the table. The index must be based on single-key column, that does not allow NULL.
    – full-text catalog exists. You have to specify full-text catalog name explicitly if there is no default full-text catalog.

You can do step 2 and 3 in SQL Sever Management Studio. In object explorer, right click on a table, select Full-Text index menu item and then Define Full-Text Index... sub-menu item. Full-Text indexing wizard will guide you through the process. It will also create a full-text search catalog for you if you don’t have any yet.

enter image description here

You can find more info at MSDN

After following the steps you need a few minutes so that the full text search index is created (this depends on the size of the table and column data)

User contributions licensed under: CC BY-SA
6 People found this is helpful
Advertisement