在大型电子商务网站中,在商品列表页,我们都可以看到商品按分类,品牌,价格的分类显示,如下图,这些我们可以使用solr中的facet功能实现。
facet的基本功能就是对搜索结果中的商品进行分类。
1.facet用法
facet.field:指定要分类的字段
facet=on 或 facet=true表示功能开启
facet.prefix 表示字段前缀
facet.limit 表示返回的记录数
facet.offict 表示从第几条开始,主要用于分页
facet.query可以任意定义查询
注:用于facet的字段的索引index一定要设为true
2..facet.field
这里我们查询产品名称中包含白色的商品有哪些分类,并且知道每个分类有几条记录
把查询条件q=白色 facet.field=CategoryName,将得到下图结果
可以看到分类T桖中有两个商品名称中包括白色
分类裤子中有1个商品包括白色
3. 按价格进行分段查询
可以按价格区间来对搜索结果中的商品进行分段。我们先看下怎么进行分段,打开solrconfig.xml配置,找到如下节点
facet.range节点中表示按范围分段的字段为Price
f.Price.facet.range.start表示起始值为0
f.Price.facet.range.end表示最大值为 5000
f.Price.facet.range.gap表示每次间隔1000进行分段 ,
最后,我们看到的结果如下图
0<=Price<1000 有1条记录
1000<=Price<2000 有2条记录 ,查询的时候下限包括等于这种情况
facet还有其他参数用法,大家可以参照下官方文档。
转载自:http://blog.csdn.net/zx13525079024/article/details/26376697
相关推荐
例如,它不支持JOIN操作,但提供了丰富的聚合函数和分组功能。 在实际应用中,你还需要考虑性能优化,如使用Solr的缓存机制、分页查询、查询过滤器(Filter Queries)等。同时,为了确保高可用性和可扩展性,可能...
同时,5.3.2引入了更强大的聚合功能,支持统计计算、分组、排序等高级查询操作。 6. **更新处理链**:Solr的Update Request Processor链允许在索引文档之前或之后执行一系列操作,如字段值的转换、删除重复的文档等...
- **聚合策略**:讲述如何对搜索结果进行分组,以及如何通过字段折叠来简化结果展示。 - **性能优化**:分享在大规模数据集上实现聚合功能时需要注意的性能问题。 #### 部署到生产环境 - **最佳实践**:分享将Solr...
分组查询允许用户按特定字段对结果进行分组,以便查看每个组内的聚合信息。Solr的`group`参数用于实现此功能: ```http http://localhost:8983/solr/select?q=*:*&group=true&group.field=category ``` 这个查询将...
6. **solr-analytics-5.3.0.jar**:这个组件提供了高级的统计和分析功能,如聚合查询、计算标准偏差、平均值等。它使得 Solr 不仅能进行基础的全文搜索,还能进行复杂的数据分析。 7. **solr-map-reduce-5.3.0.jar*...
7. **分面**:解释了 Solr 的分面功能,帮助用户按照特定维度对结果进行分组和聚合。 8. **高亮显示**:介绍了如何在搜索结果中高亮显示与查询相关的部分。 9. **拼写检查**:提供了 Solr 的拼写检查功能,帮助...
3. 高级功能:包括高亮显示(突出显示查询词)、拼写检查(纠正用户输入错误)、搜索建议(自动补全)、分组统计(按类别聚合结果)、拼音检索(支持中文的音节搜索)等。 总之,Solr是一个强大的企业级搜索解决...
GeoPath聚类Memex路由集群项目正在尝试提供工具和技术,以便能够将某些Memex数据作为路由格式进行探索。 路线被定义为通过时间将对象...) 当前用例编号1尚未实现数据集和架构: 我们使用Apache Solr将广告数据点和细
8. **SQL分组查询**:`GROUP BY`语句用于将数据按一个或多个字段进行分组,以便对每个组进行聚合操作(如计数、求和等)。在分组查询中,`SELECT`后面的字段要么是分组字段,要么是聚合函数。 9. **MySQL内联查询**...
- Elasticsearch支持丰富的聚合操作,包括计数、分组、排序等。 - 通过聚合查询可以对数据进行统计分析。 #### 六、进阶操作与优化 1. **SQL风格查询**:Elasticsearch提供了一种SQL风格的查询方式,使得开发...
5. **过滤与聚合**:Filter和Collector组件可以用于进一步筛选结果,或者进行分组、统计等聚合操作。 6. **更新与删除**:Lucene支持动态索引更新,可以添加、修改或删除文档,并实时反映在搜索结果中。 7. **多...
此外,Elasticsearch还支持聚合操作,可以轻松实现统计、排序和分组等功能,这是SQL中`INSERT`、`UPDATE`操作无法比拟的。 总的来说,Elasticsearch是一个强大的搜索框架,它在处理大规模数据的搜索、分析和实时性...
该服务器在上“正在生产中”运行, 是开发人员用来查找Lucene,Solr和Tika jira的近乎实时更新的简单搜索实例。设计该设计与流行的基于Lucene的搜索服务器和不同之处在于,它更多地是围绕Lucene功能的最小且精简的...
5. **课时25:分组查询(aggregation)**:学习如何使用聚合查询功能,以获得更丰富的统计数据。 6. **课时30:elasticsearch实现拼音搜索**:探讨如何使用ElasticSearch实现拼音搜索功能,提高用户体验。 7. **课时36...
- **多数据源关联聚合:** 实现基础业务与商业业务数据的有效关联。 - **中间表支持:** 支持灵活的数据导出。 - **表级权限控制:** 提供较好的表级权限控制机制。 - **满足业务需求:** 计算速度快,能够满足业务需求...
Flume 是一个分布式、可靠和高可用的服务,用于收集、聚合以及移动大量日志数据,使用一个简单灵活的架构,就流数据模型。这是一个可靠、容错的服务。 彩信发送开发包 apimms apimms 提供了各种语言用来发送彩信...
Flume 是一个分布式、可靠和高可用的服务,用于收集、聚合以及移动大量日志数据,使用一个简单灵活的架构,就流数据模型。这是一个可靠、容错的服务。 彩信发送开发包 apimms apimms 提供了各种语言用来发送彩信...
Flume 是一个分布式、可靠和高可用的服务,用于收集、聚合以及移动大量日志数据,使用一个简单灵活的架构,就流数据模型。这是一个可靠、容错的服务。 彩信发送开发包 apimms apimms 提供了各种语言用来发送彩信...
Flume 是一个分布式、可靠和高可用的服务,用于收集、聚合以及移动大量日志数据,使用一个简单灵活的架构,就流数据模型。这是一个可靠、容错的服务。 彩信发送开发包 apimms apimms 提供了各种语言用来发送彩信...