`

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

    博客分类:
  • solr
 
阅读更多
1 、什么是Faceted Search

Facet['fæsɪt]很难翻译,只能靠例子来理解了。Solr作者Yonik Seeley也给出更为直接的名字:导航(Guided Navigation)、参数化查询(Paramatic Search)。



上面是比较直接的Faceted Search例子,品牌、产品特征、卖家,均是 Facet 。而Apple、Lenovo等品牌,就是 Facet values 或者说 Constraints ,而Facet values所带的统计值就是 Facet count/Constraint count

2 、Facet 使用

引用
q = 超级本
facet = true
facet.field = 产品特性
facet.field = 品牌
facet.field = 卖家


引用
http://…/select?q=超级本&facet=true&wt=json
&facet.field=品牌&facet.field=产品特性&facet.field=卖家


也可以提交查询条件,设置fq(filter query)。

引用
q = 电脑
facet = true
fq = 价格:[8000 TO *]
facet.mincount = 1 // fq将不符合的字段过滤后,会显示count为0
facet.field = 产品特性
facet.field = 品牌
facet.field = 卖家


引用
http://…/select?q=超级本&facet=true&wt=json
&fq=价格:[8000 TO *]&facet.mincount=1
&facet.field=品牌&facet.field=产品特性&facet.field=卖家


引用
"facet_counts": {
"facet_fields": {
  "品牌": [
    "Apple", 4,
    "Lenovo", 39
      …]
  "产品特性": [
    "显卡", 42,
    "酷睿", 38
      …]

  …}}


如果用户选择了Apple这个分类,查询条件中需要添加另外一个fq查询条件,并移除Apple所在的facet.field。

引用
http://…/select?q=超级本&facet=true&wt=json
&fq=价格:[8000 TO *]&fq=品牌:Apple&facet.mincount=1
&facet.field= 品牌 &facet.field=产品特性&facet.field=卖家


3 、Facet 参数

引用
facet.prefix  –   限制constaints的前缀

facet.mincount=0 –  限制constants count的最小返回值,默认为0

facet.sort=count –  排序的方式,根据count或者index

facet.offset=0  –   表示在当前排序情况下的偏移,可以做分页

facet.limit=100 –  constraints返回的数目

facet.missing=false –  是否返回没有值的field

facet.date –  Deprecated, use facet.range

facet.query


指定一个查询字符串作为Facet Constraint

引用
facet.query = rank:[* TO 20]
facet.query = rank:[21 TO *]


引用
"facet_counts": {
"facet_fields": {
  "品牌": [
    "Apple", 4,
    "Lenovo", 10
      …]
  "产品特性": [
    "显卡", 11,
    "酷睿", 20
      …]

  …}}


参考:http://www.tuicool.com/articles/Iv2UjiU
分享到:
评论

相关推荐

    solrj的facet查询总结

    Solr 的默认 requestHandler(org.apache.solr.handler.component.SearchHandler)已经包含了 Facet 组件(org.apache.solr.handler.component.FacetComponent)。如果自定义 requestHandler 或者对默认的 ...

    solr facet 笔记

    Solr 是一个流行的开源搜索引擎,提供了丰富的功能,其中包括 Facet(分面)查询,它能够帮助用户在大量数据中进行高效、多维度的筛选。Facet 查询是数据分析和信息检索中的一个重要工具,允许用户查看数据的不同...

    java进阶Solr从基础到实战

    在本套课程中,我们将全面的讲解Solr,从Solr基础到Solr高级,再到项目实战,基本上涵盖了Solr中所有的知识点。 主讲内容 章节一:Solr基础(上) 1. 环境搭建 2. 核心讲解 3. 数据导入 4. 各种中文分析器 章节二:...

    快速上手数据挖掘之solr搜索引擎高级教程(Solr集群、KI分词)第15讲 solr之Facet 共7页.pptx

    第01讲 solr5简介第02讲 solr5之Schema第03讲 solr5之Solrconfig第04讲 solr5单机安装与配置第05讲 solrj基础(一)第06讲 solrj基础(二)第07讲 solrj之SolrBean第08讲 solrj语法详解第09讲 Solrj之Multicore查询第10...

    solr的学习

    - **example/webapps**:包含 solr.war,可作为 Solr 的运行实例工程。 - **运行环境** - Solr:4.10.3 - JDK 环境:1.7.0_72(Solr 4.10 不支持 JDK 1.7 以下版本) - Web 服务器(Servlet 容器):Tomcat 7.x...

    solr.war包solr.war包solr.war包solr.war包solr.war包

    solr.warsolr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包solr.war包...

    快速上手数据挖掘之solr搜索引擎高级教程(Solr集群、KI分词)第09讲 Solrj之Multicore查询共7页.pptx

    第01讲 solr5简介第02讲 solr5之Schema第03讲 solr5之Solrconfig第04讲 solr5单机安装与配置第05讲 solrj基础(一)第06讲 solrj基础(二)第07讲 solrj之SolrBean第08讲 solrj语法详解第09讲 Solrj之Multicore查询第10...

    solr-dataimport-scheduler.jar 可使用于solr7.x版本

    Solr 数据导入调度器(solr-dataimport-scheduler.jar)是一个专门为Apache Solr 7.x版本设计的组件,用于实现数据的定期索引更新。在理解这个知识点之前,我们需要先了解Solr的基本概念以及数据导入处理...

    Solr 查询,索引

    3. **查询优化**:Solr会根据查询条件和索引结构自动优化查询计划,包括使用倒排索引来快速定位匹配文档,以及对查询结果进行评分排序。 4. **高亮显示**:Solr能够对查询结果中的匹配词进行高亮,提高用户查找相关...

    SOLR的学习资料

    4. **启动SOLR**:在SOLR的根目录下运行`bin/solr start`命令(Windows上可能为`bin\solr.cmd start`),这会启动SOLR服务器。默认情况下,SOLR会监听8983端口。 5. **创建核心(Core)**:SOLR的核心是数据处理的...

    最新版linux solr-8.8.2.tgz

    了解这些基础知识后,你就可以开始探索 Solr 8.8.2 的高级特性,如实时增删改查、多字段排序、高亮显示、同义词处理、地理位置搜索以及更复杂的查询表达式等。通过熟练掌握 Solr,你将能够构建强大而高效的全文搜索...

    solr查询语法.pdf

    faceted搜索是Solr的高级搜索功能之一,允许用户在搜索结果中进行分组统计。例如,可以按照商品的分类进行分组显示,提供类似面包屑导航的用户体验。在Solr中,分面查询的结果字段为facet_counts,与responseHeader...

    Solr学习笔记。。

    2. 将`solr.war`文件从`solr-4.x\dist`目录复制到`apache-tomcat-6.0.26\webapps`下。启动Tomcat服务,`solr.war`会自动解压缩并部署。 3. 配置`solr.home`以指定Solr的数据存储位置。可以通过在`server.xml`中添加`...

    easynet.solr开发与使用

    在实际开发过程中,Easynet.Solr还提供了完整的解决方案文件(EasyNet.Solr.sln),这包含了项目的全部源码和配置,方便开发者进行二次开发和定制。同时,ClientDemo示例项目展示了如何使用Easynet.Solr进行基本操作...

    Apache Solr(solr-8.11.1.zip)

    Solr在其之上添加了更多高级特性,如 faceting(分面搜索),highlighting(高亮显示),以及更复杂的查询语法。 4. **配置文件**:压缩包中的配置文件包括`solrconfig.xml`和`schema.xml`。`solrconfig.xml`定义了...

    快速上手数据挖掘之solr搜索引擎高级教程(Solr集群、KI分词)第01讲 solr5简介 共14页.pptx

    第01讲 solr5简介第02讲 solr5之Schema第03讲 solr5之Solrconfig第04讲 solr5单机安装与配置第05讲 solrj基础(一)第06讲 solrj基础(二)第07讲 solrj之SolrBean第08讲 solrj语法详解第09讲 Solrj之Multicore查询第10...

    solr(solr-9.0.0.tgz)

    其中,`solr.xml`是Solr的全局配置文件,`configsets`包含了预定义的配置集,可以快速创建和配置索引。 3. **dist** 文件夹:包含Solr的JAR文件和相关的依赖库,这些文件在启动Solr时会被加载。 4. **docs** ...

    solr(solr-9.0.0-src.tgz)源码

    Solr是Apache软件基金会的一个开源项目,它是基于Java的全文搜索服务器,被广泛应用于企业级搜索引擎的构建。源码分析是深入理解一个软件系统工作原理的重要途径,对于Solr这样的复杂系统尤其如此。这里我们将围绕...

    solr 的使用及安装

    2. **编辑 solr.xml**:在 `solr_home` 的上级目录,编辑 `solr.xml`,添加新核心的配置,如 `<core name="my_core" instanceDir="my_core" />`。 3. **启动新核心**:运行 `bin/solr create -c my_core` 创建核心,...

    基于Solr的多表join查询加速方法

    - **查询设计**:通过调整查询语句的结构,如使用“exists”查询或“join”查询,以适应Solr的查询机制,提升性能。 - **硬件和架构优化**:例如,增加Solr服务器的内存,使用SSD硬盘提升I/O速度,或者采用更高效的...

Global site tag (gtag.js) - Google Analytics