本文实例用的系统环境:
本文的主要内容:
- 解释一下在solution manager中的两个容易混淆的Central Search的选项,Free Text和Full Text的区别
- Central Search里面除了Saved Search以外的几个搜索都用了什么后台技术,分别用什么方法开启或者关闭
- 如何控制Enterprise Search – Embedded Search是使用SAP HANA还是TREX/BWA
本文参考的文献:
Solution Manager也使用了BBPCRM和WEBCUIF的software component,所以有不少Solution Manager的support incident会由CRM组来处理。最近处理了一个incident是关于Web UI界面右上角的Central Search的,说到了下图中圈出的两个选项Free Text和Full Text。乍看一下名称马上有种傻傻地分不清楚的感觉。本文想借着稍深入分析一下这两项的个中奥秘来为大家展示一下Central Search(本文不探讨Saved Search)的骨骼脉络。
Central Search分成以下三个部件
在针对如何开启和关闭以上功能中都提到了一个配置“Define Central Search”,它与三个部件的关系如图。
所以Solution Manager当中的Full Text其实就是一个Specific Search Criteria,它也是通过相同的在bsp_wd_cmpwb里配置的方式开启或者关闭的,如下图(关于究竟在哪个configuration中配置是有坑的,KBA
2007314 中有详述)。
但是Solution Manager中的Full Text其实是一只羊群中的狼。尝试追踪程序逻辑能发现,这只狼其实套用了CRM的其他Search Criteria的框架,但是在程序里强行扭转调用了TREX搜索。这个Call Stack里面CL_AI和CL_AGS打头的class都是Solution Manager的程序。
Free Text的的Call Stack则明确指向了Enterprise Search。
那么针对某一个对象的某一个字段的快速搜索Specific Search Criteria,如果是one order对象则基本最终都会通过
CL_CRM_REPORT_ACC_DYNAMIC
DATABASE_ACCESS
实现最终select。
在处理那个incident的过程中,客户提到了这篇
博文 。里面就提到如果想要停用TREX,只要把Full Text从Use In Central Search里面关闭就可以了。当时看到这段的时候我有了一个疑问,因为据我所知All Objects和Free Text都是用到TREX的,为什么仅仅关闭Full Text就可以了。难道是Solution Manager又有特殊逻辑在?分析下来在All Objects和Free Text方面Solution Manager和CRM使用的逻辑是一样的。原来是我技术没有及时更新,深刻检讨。学习发现的结果是发现了这篇
online help 。此文说明了需要配置DBCO 和ESH_ADM_TREX_DEST 来改变Enterprise Search – Embedded Search究竟使用SAP HANA还是TREX/BWA。这里贴一个我们内部测试系统的配置情况供参考。
希望以上能帮助理理思路,仅此而已。;)