lucene/solr去重

[b][size=medium]

什么是facet呢?参考wiki
比如在taobao或者京东买东西的时候,搜索手机,出现好多品牌、价格区间等分类信息,这就是分组。
也就是文档的公共属性,这可以用来做分组。

一、分组查询facet
在solr中需要开启facet=true功能即可使用,在facet功能中的各个字段如下所示:

1、q字段就类似于我们输入的搜索信息,也可以加上fq的过滤

q=title:手机


2、facet.query会使得搜索结果显示的数字比较少,

facet.query=price:[50 TO *]


3、facet.field是需要分组的公共属性,比如厂家、品牌等字段

facet.field=brand&facet.field=factory


4、facet.date用来分组时间字段,可以设置起止时间和时间的跨度

facet.date=ptime

facet.date.start=2010-1-1T0:0:0Z

facet.date.end=NOW

facet.date.gap=%2B1YEAR

gap设置的时候可以用+-/等符号,但是需要转义才能用。


5、facet.range用来分组数值字段,比如设置最大最小的价格等

facet.range=status

f.status.facet.range.start=0

f.status.facet.range.end=20

f.status.facet.range.gap=5


二、去重查询
facet vs group 区别:
facet的查询结果主要是分组信息:有什么分组,每个分组包括多少记录;但是分组中有哪些数据是不可知道的,只有进一步搜索。
group则类似于关系数据库的group by,可以用于一个或者几个字段去重、显示一个group的前几条记录等。
语法也类似于facet吧,参照wiki

注意:group适用于单个shard,如果使用solrcloud多shard,则需要保证被group的字段能分配到一个shard。
The Grouping feature only works if groups are in the same shard. You must use the custom sharding feature to use the Grouping feature.[/size][/b]
来自:http://sling2007.blog.163.com/blog/static/84732713201352023820290/
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值