繁体   English   中英

嵌套文档上的Solr 4.8构面

[英]Solr 4.8 faceting on nested documents

使用“ JSON Facet API” http://yonik.com/solr-nested-objects/可以在solr 5.3中对嵌套文档进行构面

我使用的是Solr 4.8版,因此无法使用“ JSON Facet API”。

我通过使用“阻止联接查询”获得了父级和子级文档: https : //cwiki.apache.org/confluence/display/solr/Other+Parsers#OtherParsers-BlockJoinQueryParsers

如您在文档中所看到的,我需要使用' Block Join Children Query Parser '来获取子文档:q = {!child of =“ content_type:parentDocument”} title:lucene

并使用“ 阻止连接父查询解析器 ”获取父文档:q = {!parent which =“ content_type:parentDocument”}评论:SolrCloud

我想使用“阻止联接父查询解析器”,并将子字段用作构面过滤器。

换句话说,用户使用搜索短语搜索父文档,并将子字段用作构面过滤器以过滤文档。

有什么办法吗?

根据文档https://cwiki.apache.org/confluence/display/solr/JSON+Request+API

json api看起来像是一种以json对象的形式呈现参数的方法,而不是点缀.variable.names分配列表:

(引自上面链接的页面)

方面示例

实际上,您甚至不需要以JSON主体开始,智能合并就非常有用。 考虑以下完全由请求参数组成的请求: curl http://localhost:8983/solr/techproducts/query -d 'q=*:*&rows=1& json.facet.avg_price="avg(price)"& json.facet.top_cats.terms={field:"cat",limit:5}'

这等效于具有以下JSON正文或json参数:

{
  facet: {
    avg_price: "avg(price)",
    top_cats: {
      terms: {
        field: "cat",
        limit:5
      }
    }
  }
}

(编辑:代码的固定标记)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM