点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家们, 在CategoryP...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家们, 在CategoryP...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家们,
在CategoryPageController中搜索期间,我试图修改SOLR查询并添加一些过滤器参数(大约4个过滤器参数)和类似示例:
最终SearchFilterQueryData searchNameFilterQuery = new SearchFilterQueryData();
searchNameFilterQuery.setKey(" name");
searchNameFilterQuery.setValues(new HashSet <>
(Collections.singletonList(queryData.get(" name")))));
searchNameFilterQuery.setOperator(FilterQueryOperator.OR);
并将其添加到this.searchQueryData.setFilterQueries列表中。
现在正在形成查询,
yq = :&q = {!boost}(%2B {!lucene + v%3D $ yq})&fq = allCategories_string_mv:1&fq = gskProductAvailability_string_mv:ACTIVE&fq = code_string:ACLOV&fq = name_usecscontexttext_zh_CN :ACLOV&fq = productIdentifier_text_mv:ACLOV
因此,当前查询为每个要搜索的属性添加一个 fq 参数,但是我想在此处使用OR条件,例如fq =(gskProductAvailability_string_mv:ACTIVE OR code_string:ACLOV OR name_usecscontext_en_us_text:ACLOV OR productIdentifier_text_mv:ACLOV
如何通过SearchFilterQueryData或类似功能启用此功能? 有人遇到过类似的事情吗?
关于病毒,
您好,您可以使用SolrQuery对象而非开箱即用的类Hybris进行此操作。 Solr提供了此功能,因此您必须直接将这些条件设置为SolrQuery类。 我可以为您提供方法。
假设您使用的是6.x
步骤1-扩展DefaultFacetSearchStrategy/AbstractFacetSearchStrategy并覆盖
步骤2-覆盖公共SearchResult search()。
步骤3-这里的SolrQuery对象可用。
步骤4-solrQuery.addFilterQuery(" gskProductAvailability_string_mv:ACTIVE或code_string:ACLOV或name_usecscontext_en_us_text:ACLOV或productIdentifier_text_mv:ACLOV")
这将起作用。 让我知道是否有帮助。
一周热门 更多>