我们注意到WebSphere商务中的'categoryname‘字段搜索存在以下问题,因此我们试图了解这是一个数据设置问题,还是商务搜索/SOLR不适用于此类情况。
我们有100多个特定于站点和客户的目录,客户在登录时会获得他们自己的目录/类别/项目,类别浏览或下订单没有问题,但在OOB关键字搜索方面存在问题,因为OOB IBM_findProductsBySearchTerm配置文件在进行defaultSearch调用时包括‘category name’作为'defaultSearch‘的一部分,以及名称、shortDesc、关键字和其他一些字段。
话虽如此,我们看到了太多与给定搜索关键字无关的无用结果,因为在某些其他客户的目录类别名称中找到了匹配。如果我在wc-search.xml文件中添加下面的注释,我们确实可以看到正确的结果,但这也会阻止在当前目录中搜索类别。
<_config:field name="defaultSearch"/>
<_config:field name="categoryname"/>举个例子,下面是一些类别,这些类别与“糖果”关键字匹配,但不属于当前站点和目录(包含目录D的站点)关键字搜索的一部分,我们如何防止这些类别在关键字搜索期间得分,同时仍然使用类别名称搜索?
鲁比斯的糖果--在A目录史密斯乳制品目录中--在B目录厨房用具中--在C目录中--在E目录中
准备工具包--在目录D中,此类别中没有“糖果”一词。
基本上,我们也是从“准备工具包”类别中获得项目,因为其他目录的类别中有“糖果”一词,所以在关键字搜索中使用目录D。简而言之,我们得到了太多和不相关的结果,比如wc-search.xml或直接SOLR查询(qf=categoryname)中使用的'categoryname‘字段。
我认为问题是因为类别名称被索引为wc_text,并且在系统中的所有目录中使用逗号分隔的数据进行多值。
需要进行哪种自定义来解决此问题,以便搜索返回相关的结果?
谢谢
发布于 2019-05-04 03:03:16
由于categoryname索引数据没有catalog_id可见性,因此没有任何OOB。解决了这个问题,添加了一个动态的多值categoryname_字段,并用它来替换自定义ExpressionProvider类中现有的categoryname qf。这将关键字搜索仅限于当前目录类别,并返回正确的结果。
https://stackoverflow.com/questions/55750681
复制相似问题