SQL Server 2008을 사용하고 있습니다. 내 작업은 FTS가 태국어에 대해 올바른 결과를 찾을 수없는 문제를 조사하는 것입니다.SQL Server 2008의 전체 텍스트 검색에서 태국어 언어에 대해 잘못된 display_item이 표시됩니다.
첫째, nvarchar 인 'ItemName'열에서 FTS를 사용할 수있는 테이블이 있습니다. 카탈로그는 태국어로 제작되었습니다. 태국어 그래서 공백으로 단어를 구분하지 않는 언어 중 하나입니다합니다 'หลวง' 'พ่อ' 'โส ธร'문장에 다음과 같이 기록됩니다 'หลวง พ่อ โส ธร'
- 표에는 단어 (โส ธร)가 포함 된 행이 많이 있습니다. 예 : 행 # 1 (ItemName : 'หลวง พ่อ โส ธร')
- 웹 페이지에서 'โส ธร'를 검색하려고하지만 SQL Server에서 찾을 수 없습니다.
그래서 나는 SQL 서버에서 다음 쿼리를 시도하여 조사하려고 : select * from sys.dm_fts_parser(N'"หลวงพ่อโสธร"', 1054, 0, 0)
이 ... 단어가 파손되는 방법을 확인할 수 있습니다. 첫 번째는 깨질 텍스트입니다. 두 번째 매개 변수는 태국어 (WorkBreaker 등)를 사용하도록 지정하는 것입니다. 다음 결과 :
- 행 1
(display_item: 'ງลวง', source_item: 'หลวงพ่อโสธร')
- 행 2
(display_item: 'พຝโส', source_item: 'หลวงพ่อโสธร')
- 행 # 3
(display_item: 'ธร', source_item: 'หลวงพ่อโสธร')
제 1 및 제 2 행에있는 틀린 display_item를 'ງ'표시 알 'ງ ลวง'는 태국 문자조차도 아니다. 'พ ຝ โส'의 'ຝ'은 태국어 문자가 아닙니다.
그래서 외계인 캐릭터는 어디에서 왔습니까? 나는 단어 차단기가 고장 나서 색인에 잘못된 문자를 유지하기 때문에 왜 'โส ธร'를 검색 할 수 없는지 추측합니다.
도와주세요!