Share via


transform noise words 옵션

의미 없는 단어, 즉 중지 단어로 인해 전체 텍스트 쿼리에 대한 부울 연산에서 0개의 행이 반환되는 경우 transform noise words 서버 구성 옵션을 사용하여 오류 메시지를 표시하지 않을 수 있습니다. 이 옵션은 부울 연산 또는 NEAR 연산에 의미 없는 단어가 들어 있는 CONTAINS 조건자를 사용하는 전체 텍스트 쿼리에 유용합니다. 다음 표에서는 이 옵션에 사용할 수 있는 값을 설명합니다.

설명

0

의미 없는 단어(중지 단어)는 변환되지 않습니다. 전체 텍스트 쿼리에 의미 없는 단어가 들어 있는 경우 쿼리에서 0개의 행이 반환되고 SQL Server에서 경고가 발생합니다. 이것이 기본 동작입니다.

참고참고
경고는 런타임 경고이므로 쿼리에 있는 전체 텍스트 절이 실행되지 않으면 경고가 발생하지 않습니다. 로컬 쿼리의 경우 여러 개의 전체 텍스트 쿼리 절이 있어도 경고는 하나만 발생합니다. 원격 쿼리의 경우 연결된 서버에서 오류를 릴레이하지 않을 수 있으므로 경고가 발생하지 않을 수도 있습니다.

1

의미 없는 단어(중지 단어)가 변환됩니다. 이러한 단어는 무시되고 쿼리의 나머지 부분만 평가됩니다.

근접 단어에 의미 없는 단어가 지정되어 있는 경우 SQL Server에서 제거됩니다. 예를 들어 CONTAINS(<column_name>, 'NEAR (hello,is,goodbye)')에서 의미 없는 단어인 is가 제거되어 검색 쿼리가 CONTAINS(<column_name>, 'NEAR(hello,goodbye)')로 변환됩니다. CONTAINS(<column_name>, 'NEAR(hello,is)')는 유효한 검색 단어가 하나만 있으므로 CONTAINS(<column_name>, hello)로 변환됩니다.

transform noise words 설정의 효과

이 섹션에서는 transform noise words의 설정에 따라 의미 없는 단어 "the"가 들어 있는 쿼리의 동작을 보여 줍니다. 예제 전체 텍스트 쿼리 문자열은 다음 데이터가 포함된 테이블 행에 대해 실행하는 것으로 가정합니다. [1, "The black cat"].

[!참고]

이러한 모든 시나리오에서는 의미 없는 단어 경고가 생성될 수 있습니다.

  • transform noise words를 0으로 설정한 경우

    쿼리 문자열

    결과

    "cat" AND "the"

    결과 없음("the" AND "cat"의 동작과 같습니다.)

    "cat" NEAR "the"

    결과 없음("the" AND "cat"의 동작과 같습니다.)

    "the" AND NOT "black"

    결과 없음

    "black" AND NOT "the"

    결과 없음

  • transform noise words를 1로 설정한 경우

    쿼리 문자열

    결과

    "cat" AND "the"

    ID가 1인 행에 해당합니다.

    "cat" NEAR "the"

    ID가 1인 행에 해당합니다.

    "the" AND NOT "black"

    결과 없음

    "black" AND NOT "the"

    ID가 1인 행에 해당합니다.

다음 예에서는 transform noise words를 1로 설정합니다.

sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
sp_configure 'transform noise words', 1;
RECONFIGURE;
GO