복붙노트

[SQL] A는 포함하거나 테이블 또는 인덱싱 된 뷰에 FREETEXT 조건이 전체 텍스트하지 않기 때문에 사용할 수 없습니다 인덱스

SQL

A는 포함하거나 테이블 또는 인덱싱 된 뷰에 FREETEXT 조건이 전체 텍스트하지 않기 때문에 사용할 수 없습니다 인덱스

내 SQL 서버 2008 R2 데이터베이스에 오류가 다음 무엇입니까 :

해결법

  1. ==============================

    1.당신은 SQL 끊어 Management Studio의 단계 2와 3을 수행 할 수 있습니다. 개체 탐색기에서 마우스 오른쪽 테이블을 클릭합니다 전체 텍스트 인덱스의 메뉴 항목을 선택한 다음 전체 텍스트 인덱스 ... 하위 메뉴 항목을 정의합니다. 전체 텍스트 인덱싱 과정을 안내합니다 마법사. 당신이 아직없는 경우 그것은 또한 당신을 위해 전체 텍스트 검색 카탈로그를 작성합니다.

    당신은 SQL 끊어 Management Studio의 단계 2와 3을 수행 할 수 있습니다. 개체 탐색기에서 마우스 오른쪽 테이블을 클릭합니다 전체 텍스트 인덱스의 메뉴 항목을 선택한 다음 전체 텍스트 인덱스 ... 하위 메뉴 항목을 정의합니다. 전체 텍스트 인덱싱 과정을 안내합니다 마법사. 당신이 아직없는 경우 그것은 또한 당신을 위해 전체 텍스트 검색 카탈로그를 작성합니다.

    당신은 MSDN에서 더 많은 정보를 찾을 수 있습니다

  2. ==============================

    2.에 대한 해결 방법이 포함되어 당신이 열에서 전체 텍스트 색인을 생성하지 않으 및 성능 당신이 사전 구성이 필요하지 않는 LIKE 문을 사용할 수있는 우선 순위 중 하나가 아닌 경우 :

    에 대한 해결 방법이 포함되어 당신이 열에서 전체 텍스트 색인을 생성하지 않으 및 성능 당신이 사전 구성이 필요하지 않는 LIKE 문을 사용할 수있는 우선 순위 중 하나가 아닌 경우 :

    예 : 편지 Q를 포함하는 모든 제품을 찾을 수 있습니다 :

    SELECT ID, ProductName
    FROM [ProductsDB].[dbo].[Products]
    WHERE [ProductsDB].[dbo].[Products].ProductName LIKE '%Q%'
    
  3. ==============================

    3.당신은 당신이 언젠가 걸릴 것이다 CONTAINS와 쿼리를 사용하는 데 필요한 데이터베이스의 모든 테이블에 전체 텍스트 색인을 정의해야합니다.

    당신은 당신이 언젠가 걸릴 것이다 CONTAINS와 쿼리를 사용하는 데 필요한 데이터베이스의 모든 테이블에 전체 텍스트 색인을 정의해야합니다.

    대신 당신은 테이블에 대한 설정을 조정할 필요없이 즉각적인 결과를 얻을 수 등을 사용할 수 있습니다.

    예:

    SELECT * FROM ChartOfAccounts WHERE AccountName LIKE '%Tax%'
    

    LIKE 얻을 수있다 CONTAINS 얻어 동일한 결과.

    결과를 확인 :

  4. ==============================

    4.당신은 전체 텍스트 인덱싱에 대한 테이블을 사용하도록 설정해야 할 수도 있습니다.

    당신은 전체 텍스트 인덱싱에 대한 테이블을 사용하도록 설정해야 할 수도 있습니다.

  5. ==============================

    5.당신은 당신이 검색 할 특정 필드에 전체 텍스트 인덱스를 추가해야합니다.

    당신은 당신이 검색 할 특정 필드에 전체 텍스트 인덱스를 추가해야합니다.

    ALTER TABLE news ADD FULLTEXT(headline, story);
    

    여기서 "뉴스"는 전체 텍스트 검색에 사용하려는 테이블과 "제목, 이야기"필드입니다

  6. ==============================

    6.true로 설정 열의 전체 텍스트에 또 하나의 해결책이있다.

    true로 설정 열의 전체 텍스트에 또 하나의 해결책이있다.

    예를 들어,이 솔루션은 나를 위해 작동하지 않았다

    ALTER TABLE news ADD FULLTEXT(headline, story);
    

    내 솔루션입니다.

    다음 단계

    새롭게 하다

    MSSQL 2014 버전

  7. ==============================

    7.

    Select * from table
    where CONTAINS([Column], '"A00*"')  
    

    동일 % 역할을합니다

    where [Column] Like 'A00%'
    
  8. from https://stackoverflow.com/questions/6003240/cannot-use-a-contains-or-freetext-predicate-on-table-or-indexed-view-because-it by cc-by-sa and MIT license