Solr 4.8在嵌套文档上的分面

时间:2015-09-01 19:01:09

标签: solr solr4

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

我使用Solr版本4.8因此我无法使用" JSON Facet API"。

我使用"阻止加入查询"我有父文件和子文档: https://cwiki.apache.org/confluence/display/solr/Other+Parsers#OtherParsers-BlockJoinQueryParsers

正如您在文档中看到的,我需要使用' 阻止加入儿童查询解析器'得到儿童文档: q = {!child of =" content_type:parentDocument"} title:lucene

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

我想使用"阻止加入父查询解析器"并将子字段作为构面过滤器。

换句话说,用户使用搜索词组搜索父文档,并使用子字段作为构面过滤器来过滤文档。

有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

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

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

(引自上面的链接页面)

分面示例

实际上,您甚至不需要从JSON主体开始进行智能合并就非常有用。请考虑以下完全由请求参数组成的请求: var allWords = $('pre').innerText; allWords = allWords.split('\n'); allWords.length == some really big number

这相当于具有以下JSON主体或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}'

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