Dynamics 365-Full Text Index on Stopwords

Posted YOBYRON

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Dynamics 365-Full Text Index on Stopwords相关的知识,希望对你有一定的参考价值。

之前写了一篇关于Online Relevance Search的博文,然后又看到罗勇大神关于Full Text Index的博文:Dynamics CRM中一个查找字段引发的【血案】,于是准备写点关于Full Text Index Stopwords相关的介绍,也算是对Dynamics 365 Search方式相关的一个知识点记录。

关于如何开启Dynamics 365 Full Text Index,这个就不多加赘述了,基础功能在网上还是很容易找到的,在Enable Full Text Index的时候,CRM会有提示,大致意思是要等24小时才能生效。Maintenance Job如何修改执行时间,可以参考罗勇大神的文章:

update MSCRM_CONFIG.dbo.ScaleGroupOrganizationMaintenanceJobs 
set NextRunTime = \'UTC时间\'
where OperationType = 15

注意RunTIme是UTC时间,可以大大减少Maintenance Job的等待时间,要不默认是会24小时执行一次。

当Full Text Index功能完全启用之后,我们当然会迫不及待地想要去尝试下新功能的效果,一般的搜索问题不大,但是有时候,你会发现,一些作为过滤条件的词语,就是搜索不到结果。例如,现在有一个account “Mr. To”

当用to作为查询条件的时候,是搜索不出这个account的

而导致这个问题的原因就是Stopwords in Stoplist。

当Full Text Index功能开启的时候,会有一个系统Stoplist作用于CRM Organization DB,作用于Full Text Index涉及到的Entity,也就是DB的Tables。

这个系统Stoplist来自于系统数据库Resource Database,一个在Management Studio上不可见的Database,但是在SQL安装目录下,可以找到它的数据库文件

这个数据库暴露出来的内容是ReadOnly的。

既然我们知道有Stoplist这个功能的存在,那么我们当然会想到,是不是可以创建自己的过滤词组来满足特定的业务需求呢?答案是肯定的。

1. 创建Stoplist

CRM Database -> Storage -> Full Text Stoplist -> New Full-Text Stoplist

在弹出界面,填上Stoplist的名字,然后选择Stoplist如何创建

这里的建议是“Create from the system Stoplist”,出于两方面的考虑:首先并不是所有的stopwords,业务逻辑上都不需要;其次是有些words是公共的,在使用的时候是有优化的。

创建完成之后,我们先来确认下word

2. Remove Stopword

右键Stoplist “demo”,点击Properties

选择“Delete stop word”,然后填写要去掉的word,以及语言

之后再执行下查询

3. 设置Stoplist作用于Account表

ALTER FULLTEXT INDEX ON dbo.Accountbase SET STOPLIST = demo;

4. Rebuild CRMFullTextCatalog

这里有可能遇到的问题是Rebuild是灰掉的,但是可以选择上一层“Full Text Catalogs”,右键Rebuild

5. 效果

IIS reset之后,查询效果

 

 Stoplist 官方资料:Configure and Manage Stopwords and Stoplists for Full-Text Search

 

以上是关于Dynamics 365-Full Text Index on Stopwords的主要内容,如果未能解决你的问题,请参考以下文章

Reconnect Active Directory Accounts in Dynamics CRM

在 Microsoft Dynamics 365 Online中如何调试Plugins in

Debug Ribbon button customization using Command Checker in Dynamics 365 CE Unified Interface

Debug Ribbon button customization using Command Checker in Dynamics 365 CE Unified Interface

Debug Ribbon button customization using Command Checker in Dynamics 365 CE Unified Interface

Creating an Audit Report for User Logins in Dynamics CRM