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

加入文档

  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

结果:

  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>

获得指定日期范围内的文档:添加的文档

  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

结果:

  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.fac

solr特点二:Facet的更多相关文章

  1. solr特点二:Facet(1)

    一.   Facet 简介 Facet 是 solr 的高级搜索功能之一 , 可以给用户提供更友好的搜索体验 . 在搜索关键字的同时 , 能够按照 Facet 的字段进行分组并统计 . 二.   Fa ...

  2. Solr高级查询Facet

    一.什么是facet solr种以导航为目的的查询结果成为facet,在用户查询的结果上根据分类增加了count信息,然后用户根据count信息做进一步搜索. facet主要用于导航实现渐进式精确搜索 ...

  3. solr参数之facet

    facet就像sql语句中的group一样,是对某一个字段进行group并count,即能够按照Facet的字段进行分组并统计. 一.基本使用: 必须属性:facet=true&facet.f ...

  4. solr研磨之facet

    作者:战斗民族就是干 转载请注明地址:http://www.cnblogs.com/prayers/p/8822417.html Facet 开门见山,facet解决的就是筛选,我是把它理解为一种聚合 ...

  5. Solr系列二:solr-部署详解(solr两种部署模式介绍、独立服务器模式详解、SolrCloud分布式集群模式详解)

    一.solr两种部署模式介绍 Standalone Server 独立服务器模式:适用于数据规模不大的场景 SolrCloud  分布式集群模式:适用于数据规模大,高可靠.高可用.高并发的场景 二.独 ...

  6. Solr的学习使用之(七)Solr高级查询facet、facet.pivot简介

    以下转载自:http://hongweiyi.com/2013/03/apache-solr-facet-introduction/ 1.什么是Faceted Search Facet['fæsɪt] ...

  7. 学习Solr(二)

    一.Solr概述 1.什么是Solr Solr 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务器.Solr提供了比Lucene更为丰富的查询语言,同时实现了可 ...

  8. Solr系列二:Solr与mmseg4j的整合

    mmseg4j是一个很好的中文分词器,solr与mmseg4j的整合也非常简单.如下: 第一步:下载mmseg4j的jar包,网上搜索一下有很多下载地址,如下是csdn上的一个连接:http://do ...

  9. solr学习二(ExtractingRequestHandler)

    通过ExtractingRequestHandler,slor能够读取word.pdf等文件,并用于全文搜索.废话少说,进入主题:     solr服务端是配出来的:     solrconfig.x ...

随机推荐

  1. javascript中原型,构造器,还有E5扩展的默认成员

    对象原型所具有的基本特征: 1.toString() 2.toLocaleString() 3.valueOf() 4.constructor() 5.propertyIsnumerable() 6. ...

  2. extjs [1]

    1.JS 类的声明,和对象的创建 2.原始方法用EXTJS创建一个window 3.利用一个按钮触发window窗体,了解一下EXTJS的事件机制 4.用EXTJS4.0的create来创建windo ...

  3. java普通类、抽象类、接口、面向对象理解

    1.面向对象编程: 面向对象编程的语言不止java一种,还有: simula 67(第一个面向对象语言,支持单继承和一定含义的多态和部分动态绑定): Smalltalk(第一个支持动态类型的语言,支持 ...

  4. Rhythmk 一步一步学 JAVA (22) JAVA 网络编程

    1.获取主机信息 @Test public void GetDomainInfo() throws UnknownHostException { String domain = "www.b ...

  5. GridEh排序

    添加pas文件 EhLibADO.pas EhLibCDS.pas EhLibFireDAC.pas 支持FireDAC 设置GridEh的属性 DBGridEh1->SortLocal = t ...

  6. Spring cloud @RefreshScope使用

    参数 @RestController @RefreshScope public class HomeController { @Value("${foo}") String foo ...

  7. forbidden Derby database starting with weblogic instance

    Now doing a new project  which  choose the newest weblogic 12.1.2.0.0 as web container.But found the ...

  8. curl常用设置-涉及超时相关

    curl_easy_setopt( curl, CURLOPT_VERBOSE, 1L ); //在屏幕打印请求连接过程和返回http数据 curl_easy_setopt( curl, CURLOP ...

  9. zookeeper 节点讲解以及实际项目运用

    转自:https://www.jianshu.com/p/86acf1df6cdd 前言:最近工作不是很忙,本应该乘着闲暇的时间看书的,之前每天晚上都要翻翻的,可是自己竟然迷恋上了王晓磊 写的 卑鄙的 ...

  10. 解决CentOS内网机通过Windows下架设代理来访问网络

    新分配的CentOS运行在内网环境下,无法连接Internet,为了能够使用yum部署OpenVas工具,需要在内网下一台Windows主机架设代理,作代理服务器来令虚拟机上网. 代理服务器选择了CC ...