转:Solr学习总结-Facet(各种例子,包括facet.query的使用)

http://www.fx114.net/qa-213-598845.aspx
本篇文章主要介绍了"Solr学习总结-Facet",主要涉及到Solr学习总结-Facet方面的内容,对于Solr学习总结-Facet感兴趣的同学可以参考一下。

返回查询集合中指定field的统计情况,例如找到city一样的文档数目

加入文档

[plain]  view plain copy
  1. <add>  
  2. <doc>  
  3. <field name="id">1</field>  
  4. <field name="name">Company 1</field>  
  5. <field name="city">New York</field>  
  6. </doc>  
  7. <doc>  
  8. <field name="id">2</field>  
  9. <field name="name">Company 2</field>  
  10. <field name="city">New Orleans</field>  
  11. </doc>  
  12. <doc>  
  13. <field name="id">3</field>  
  14. <field name="name">Company 3</field>  
  15. <field name="city">New York</field>  
  16. </doc>  
  17. </add>  
查询:http://localhost:8983/solr/select? q=name:company&facet=true&facet.field=city&facet.mincount=1

结果:

[plain]  view plain copy
  1. <lst name="facet_fields">  
  2. <lst name="city">  
  3. <int name="New York">2</int>  
  4. <int name="New Orleans">1</int>  
  5. </lst>  
  6. </lst>  


获得指定日期范围内的文档 :添加的文档
[plain]  view plain copy
  1. <add>  
  2. <doc>  
  3. <field name="id">1</field>  
  4. <field name="title">Lucene or Solr ?</field>  
  5. <field name="added">2010-12-06T12:12:12Z</field>  
  6. </doc>  
  7. <doc>  
  8. <field name="id">2</field>  
  9. <field name="title">My Solr and the rest of the world</field>  
  10. <field name="added">2010-12-07T11:11:11Z</field>  
  11. </doc>  
  12. <doc>  
  13. <field name="id">3</field>  
  14. <field name="title">Solr recipes</field>  
  15. <field name="added">2010-11-30T12:12:12Z</field>  
  16. </doc>  
  17. <doc>  
  18. <field name="id">4</field>  
  19. <field name="title">Solr cookbook</field>  
  20. <field name="added">2010-11-29T12:12:12Z</field>  
  21. </doc>  
  22. </add>  
查询语句:分别指定时间的field,开始时间和结束时间,gap指定时间的划分,结果显示时间区间的数目。

http://localhost:8983/solr/select?q=*:*&rows=0&facet=true&facet.date=added&facet.date.start=NOW/DAY-30DAYS&facet.date.end=NOW/DAY&facet.date.gap=+7DAY

结果:

[html]  view plain copy
  1. <int name="2010-11-08T00:00:00Z">0</int>  
  2. <int name="2010-11-15T00:00:00Z">0</int>  
  3. <int name="2010-11-22T00:00:00Z">0</int>  
  4. <int name="2010-11-29T00:00:00Z">2</int>  
  5. <int name="2010-12-06T00:00:00Z">2</int>  

得到数值范围的数目,和时间范围一样

http://localhost:8983/solr/select?q=*:*&rows=0&facet=true&facet.range=price&facet.range.start=0&facet.range.end=400&facet.range.gap=100


自定义区间,而不是连续区间的划分

http://localhost:8983/solr/select?q=name:car&facet=true&facet.query=price:[10 TO 80]&facet.query=price:[90 TO 300]


移除过滤

http://localhost:8983/solr/select?q=name:company&facet=true&fq={!tag=stateTag}state:"New York"&facet.field={!ex=stateTag}city&facet.field={!ex=stateTag}state

fq={!tag=stateTag}state:"New York":只显示state为"New York"的结果。

facet.field={!ex=stateTag}city:移除stateTag的过滤后,在结果集中,对city域进行统计。


命名facet结果集

http://localhost:8983/solr/select?q=name:company&facet=true&fq={!tag=stateTag}state:Luiziana&facet.field={!key=stateFiltered}city&facet.field={!ex=stateTag key=stateUnfiltered}state

acet.field={!key=stateFiltered}city:命名city为stateFiltered,并按照前面的过滤


对facet结果集进行排序按照字典序排序,默认是按数量排序

http://localhost:8983/solr/select?q=name:house&facet=true&facet.field=city&facet.sort=index


实现自动提示:前缀为so的都会显示,一般不需要分词

http://localhost:8983/solr/select?q=*:*&rows=0&facet=true&facet.field=title_autocomplete&facet.prefix=so


得到某一个域中不含某词的facet,也可以是不含某个域

http://localhost:8983/solr/select?q=title:solr&facet=true&facet.query=!price:[* TO *]


指定结果集数目的统计facet:-1表示所有

http://localhost:8983/solr/select?q=title:solr&facet=true&facet.field=category&facet.limit=-1


指定不同域的facet的限制数目:一个没限制,一个限制10

http://localhost:8983/solr/select?q=name:car&facet=true&facet.field=category&facet.field=manufacturer&f.category.facet.limit=-1&f.manufacturer.facet.limit


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值