2010-04-04 4 views
1

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를 'ງ'표시 알 'ງ ลวง'는 태국 문자조차도 아니다. 'พ ຝ โส'의 'ຝ'은 태국어 문자가 아닙니다.

그래서 외계인 캐릭터는 어디에서 왔습니까? 나는 단어 차단기가 고장 나서 색인에 잘못된 문자를 유지하기 때문에 왜 'โส ธร'를 검색 할 수 없는지 추측합니다.

도와주세요!

답변

0

이것은 색인 생성이 적용되는 동안 선택된 다른 태국어 방언 때문입니다. FTS 속성에서 선택한 언어/문화가 무엇인지 확인하십시오.

관련 문제