分享

SharePoint Search 分词(WordBreaker)

 Coder编程 2020-09-18

【问题】

我们经常会搜索一个很长的词,例如“国際協力銀行” ,对应的搜索结果中会有关于“国際”“協力”“銀行”相关内如都会搜索到,这样的行为就是分词,那如何知道搜索内如是如何分词的呢?

【解决办法】

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

 

 

  

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多