텍스트에 "clf"문자열이 포함되어 있으면 fts를 사용하고 이상한 동작이 나타납니다. 어떤 이유로 "clf"문자열을 가진 문서 용으로 생성 된 키워드는 "clf"대신 다른 문자열을 가진 거의 동일한 문서로 다르게 동작합니다. 우리가 키워드가"CLF"가있는 문서의 이상한 키워드
를 만들어 쿼리 할 때 우는 그런 다음 코드 설명 다시 행동CREATE TABLE [dbo].[test1](
[id] [int] NOT NULL,
[data] [nvarchar](max) NULL,
CONSTRAINT [PK_test1] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
CREATE FULLTEXT CATALOG test_catalog;
CREATE FULLTEXT INDEX ON [dbo].test1
(
data
)
KEY INDEX [PK_test1] ON test_catalog
insert into dbo.test1 values (1, N'17 12 CLF'), (2, N'17 13 bbb'), (3, N'17 129 CLF'), (4, N'17 139 aaa')
입니다
SELECT * FROM sys.dm_fts_index_keywords_by_document(DB_ID('db_name'), OBJECT_ID('dbo.test1'))
우리는 "CLF"와 문서 작성 키워드 "AAA"와 "BBB"로 다음 다른 것을 볼 수있다 . 예를 들어 문서 4에는 키워드 "139"가 있지만 문서 3에는 "129"가없고 "17 129 clf"만 있습니다.
이 동작의 이유는 무엇입니까? fts가 "clf"가 있거나없는 문자열에서 동일한 방식으로 동작하도록하는 간단한 방법이 있습니까?
것은 그것이 어떤 영향을 미치는지 검색 (CONTAINS 사용) 텍스트와 악센트? – abc667
잘 모르겠지만 데이터 정렬 설정에 의존해야합니다. –