之前写了一篇关于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的更多相关文章

  1. Dynamics 365创建电子邮箱字段包含值的联系人同时更改负责人的方法。

    摘要: 本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复267或者20171129可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyon ...

  2. Dynamics 365 CE命令栏按钮点击后刷新表单页面方法

    微软动态CRM专家罗勇 ,回复326或者20190428可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me! Dynamics 365 Customer Engagement ...

  3. Dynamics 365 CE中AsyncOperationBase表记录太多,影响系统性能怎么办?

    微软动态CRM专家罗勇 ,回复311或者20190311可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!我的网站是 www.luoyong.me . 本文主要是根据微软官 ...

  4. 安装完成Dynamics 365 CE后别忘了更改维护作业的运行时间

    摘要: 微软动态CRM专家罗勇 ,回复309或者20190308可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!我的网站是 www.luoyong.me . 安装完毕Dy ...

  5. Dynamics 365新功能:可编辑的网格(行内编辑)

    关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复238或者20161127可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong. ...

  6. 将Dynamics 365中的用户及其角色、角色导出到Excel中

    关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复240或者20161204可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong. ...

  7. Dynamics 365中自定义工作流活动获取的上下文分析及注意事项

    关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复244或者20170306可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong. ...

  8. Dynamics 365设置错误通知首选项的方法

    本人微信公众号:微软动态CRM专家罗勇 ,回复288或者20181205可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!我的网站是 www.luoyong.me . 使用 ...

  9. 无依赖简单易用的Dynamics 365公共视图克隆工具

    本人微信公众号:微软动态CRM专家罗勇 ,回复279或者20180818可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!我的网站是 www.luoyong.me . Dy ...

随机推荐

  1. Razor Page Library:开发独立通用RPL(内嵌wwwroot资源文件夹)

    ASP.NET Core知多少系列:总体介绍及目录 Demo路径:GitHub-RPL.Demo 1. Introduction Razor Page Library 是ASP.NET Core 2. ...

  2. IdentityServer(14)- 通过EntityFramework Core持久化配置和操作数据

    本文用了EF,如果不适用EF的,请参考这篇文章,实现这些接口来自己定义存储等逻辑.http://www.cnblogs.com/stulzq/p/8144056.html IdentityServer ...

  3. Windows10获取VS管理员权限总是很烦人

    之前在Windows 7中,只要关闭了UAC,给当前账户管理员权限,任何程序都会以管理员身份启动.现在,在Windows 10上就行不通了.而VS又需要管理员权限才能使用附加调试等一些功能.虽然我们可 ...

  4. 深入理解Spring Redis的使用 (六)、用Spring Aop 实现注解Dao层的自动Spring Redis缓存

    摘要: 主要针对Dao层的一些数据库查询的操作,数据实时性不强,直接加入缓存.当缓存中有的时候,就使用缓存中的数据.这样的方法,最终仅仅使用一个注解实现.对于之前的hibernate二级缓存使用,比较 ...

  5. chmod命令相关

    原文地址:https://www.jianshu.com/p/862a9938cc09 chmod命令用于修改文件的权限. Linux文件的三种身份和四种权限 三种身份 u:文件的拥有者: g:文件所 ...

  6. beoplay(BO)耳机拒绝配对的解决方法

    最近买了个beoplay h4,但是在换了手机之后怎么也不能配对,问客服也不知道,后来找了好久才找到答案: 按住音量+  和 音量-  指示灯出现蓝色并闪烁时,手机搜索蓝牙就可以连接了

  7. 网络协议 11 - Socket 编程(下):眼见为实耳听为虚

    系列文章传送门: 网络协议 1 - 概述 网络协议 2 - IP 是怎么来,又是怎么没的? 网络协议 3 - 从物理层到 MAC 层 网络协议 4 - 交换机与 VLAN:办公室太复杂,我要回学校 网 ...

  8. jenkins修改数据存放路径

    如果是用tomcat做容器的话,则在./bin/catalina.sh文件添加以下语句即可:export JENKINS_HOME="存放路径(需存在)" 例如:

  9. 从零开始学习PYTHON3讲义(五)while循环和棋盘麦粒问题

    <从零开始PYTHON3>第五讲 ​上一节课重点学习了字符串,并且传递了一个重要的理念,就是程序要对开发人员自己和用户都足够友好.在这个过程中,利用字符串给出充分.完整.准确的提示是非常重 ...

  10. 实战Kafka ACL机制

    1.概述 在Kafka0.9版本之前,Kafka集群时没有安全机制的.Kafka Client应用可以通过连接Zookeeper地址,例如zk1:2181:zk2:2181,zk3:2181等.来获取 ...