SharePoint Search 分词(WordBreaker)
【问题】
我们经常会搜索一个很长的词,例如“国際協力銀行” ,对应的搜索结果中会有关于“国際”“協力”“銀行”相关内如都会搜索到,这样的行为就是分词,那如何知道搜索内如是如何分词的呢?
【解决办法】
使用powershell来实现。例如:
$query = "我是中国人民" $lcid = 1041 $ssa = Get-SPEnterpriseSearchServiceApplication -Identity "Search Service Application" $queryInternal = New-Object Microsoft.Office.Server.Search.Query.KeywordQueryInternal($ssa) $culture = New-Object "System.Globalization.CultureInfo" $lcid $queryInternal.QueryProperties.Culture = $culture $wordBreaker = $queryInternal.CreateWordBreaker($false) $wordBreaker.BreakText($query) foreach($tokens in $wordBreaker.GetTokens()) { foreach($token in $tokens) { Write-Host $query.Substring($token.SrcPos,$token.SrcLen) } }