java - Hybris SOLR - 使用自由范围 slider 的 Facet 价格值

标签 java solr sap-commerce-cloud faceted-search

我正在尝试在 Hybris 1811 中实现自由范围的价格 slider 。但是,在尝试查找有关此主题的任何有用资源时,我陷入了困境。

我发现基本价格方面只能根据存储在字符串中的价格范围进行搜索,因此我无法从中制作任何有用的 slider 。

我还发现 priceValue 字段中包含实际价格 (double),而不是范围。但是,当我尝试在 Backoffice 中将此字段启用为分面时,它从未被视为分面,甚至在代码中也从未显示为分面,更不用说在产品页面的分面搜索中了。

您能否推荐任何资源或提供有关如何实现此功能的任何提示?

最佳答案

我们曾经实现过类似的目标,如下

1) 确保价格值在每个产品/变体的 solr 索引中建立索引

2) 创建一个基于 ajax 的自定义组件,以提供前端 View 并接受价格输入作为 slider 值

3) 在将 solr 查询触发到 Solr 服务器之前,使用 solr 查询后处理器更改 solr 查询。这里不使用facet,而是将其用作简单的搜索查询。 获取 solrSearchQuery 的句柄并附加价格字段值

public class SimpleSolrQueryPostProcessor implements SolrQueryPostProcessor
{
    @Override
    SolrQuery process(final SolrQuery query, final SearchQuery solrSearchQuery)
    {
        query.setSortField("id", ORDER.asc);
        query.setStart(Integer.valueOf(0));
        query.setRows(Integer.valueOf(10));
    }
}

有关更多详细信息,请参阅 SAP 文档 https://help.sap.com/viewer/d0224eca81e249cb821f2cdf45a82ace/1905/en-US/8bb1b4bf866910149a8593d8e78aacaa.html?q=solr%20query

希望对你有帮助!

关于java - Hybris SOLR - 使用自由范围 slider 的 Facet 价格值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58260023/

相关文章:

database - 如何在灵活搜索查询中限制结果数据

java - Java 中使用 Jersey 的 Hashmap 示例?

java - Gradle 构建失败 : Process 'Gradle Test Executor 1' finished with non-zero exit value 1

java - Android tabhost 问题...包含代码

java - 从java调用oracle存储过程时在mybatis映射器中映射多个输出参数

Solr - 在学期开始时以完全匹配的方式提升结果

ubuntu - 未找到 Solr 主目录

java - 当我不知道文档有多少个字符串字段时,如何从 Solr db 动态创建 Java 类

java - 如何在 Hybris 中的 items.xml 中声明类型为 "HybrisEnumValue"的属性?

testing - Hybris commerce - 同步集成测试