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)
  }
}

 

 

  

posted @ 2018-05-09 15:15  jindahao  阅读(646)  评论(0编辑  收藏  举报