문제

데이터베이스를 쿼리하여 SQL Server 2005에서 전체 텍스트 검색 노이즈/중지 단어 목록을 얻을 수 있습니까?

노이즈 워드가 텍스트 파일 ~/ftdata/noiseeng.txt에 있다는 것을 알고 있지만이 파일은 응용 프로그램에 액세스 할 수 없습니다.

나는 sys.fulltext_* 테이블을보고 있지만 단어는없는 것 같습니다.

도움이 되었습니까?

해결책

SQL 2005에서는 불가능하지만 SQL Server 2008에서는 불가능한 것으로 보입니다.

SQL Server 2008 전체 텍스트 검색 스톱워드 / 스톱리스트 사용을위한 고급 쿼리

이 다음 쿼리는 SQL Server 2008을 사용하여 배송하는 모든 스톱워드 목록을 얻습니다. 이는 좋은 개선입니다. SQL Server 2005에서는이를 수행 할 수 없습니다.

Stopwords 및 stoplist -SQL Server 2008

SQL Server 2005 노이즈 워드는 Stopwords로 대체되었습니다. 이전 릴리스에서 데이터베이스가 SQL Server 2008로 업그레이드되면 노이즈 워드 파일은 더 이상 SQL Server 2008에서 사용되지 않습니다. 그러나 노이즈 워드 파일은 ftdata ftnoisethesaurusbak 폴더에 저장되며 나중에 사용할 수 있습니다. 해당 SQL Server 2008 STOP리스트를 업데이트하거나 구축 할 때. STOPLIST로 Noise-Word 파일 업그레이드에 대한 정보는 전체 텍스트 검색 업그레이드를 참조하십시오.

다른 팁

노이즈 워드 파일을 복사합니다 \Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\FTData 내 앱에 사용하여 소음 단어를 제거하십시오.

    Public Function StripNoiseWords(ByVal s As String) As String
        Dim NoiseWords As String = ReadFile("/Standard/Core/Config/noiseENU.txt").Trim
        Dim NoiseWordsRegex As String = Regex.Replace(NoiseWords, "\s+", "|") ' about|after|all|also etc.
        NoiseWordsRegex = String.Format("\s?\b(?:{0})\b\s?", NoiseWordsRegex)
        Dim Result As String = Regex.Replace(s, NoiseWordsRegex, " ", RegexOptions.IgnoreCase) ' replace each noise word with a space
        Result = Regex.Replace(Result, "\s+", " ") ' eliminate any multiple spaces
        Return Result
    End Function
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top