在SOLR中过滤和分割多值字段

时间:2016-10-07 15:09:08

标签: solr faceted-search

我使用SOLR 4并且具有包含多值字段的文档架构。架构看起来像这样:

... some fields
"foo": [
    "aaa",
    "abb",
    "baa",
    "bbb"
],
... more fields

我想得到" foo"的每个值的所有文件的计数。变量:

  • aaa 在45个文档的foo列表中
  • abb 在76个文档的foo列表中
  • baa 在44个文件的foo列表中
  • bbb 在52个文档的foo列表中

为了使事情稍微复杂一点,我想过滤哪些方面被返回(在上面的例子中,让我们只说以&#34开头的那些; a"):

  • aaa 在23个文件的foo列表中
  • abb 在76个文档的foo列表中

我认为我需要以某种方式过滤方面,但我不知道如何开始。建议欢迎!

2 个答案:

答案 0 :(得分:2)

facet.prefix 参数将面向的术语限制为以给定字符串前缀开头的术语。

q=*
&facet=true
&facet.field=foo
&facet.prefix=a

以上查询将过滤方面,并仅返回以。

开头的方面

答案 1 :(得分:0)

我认为现场崩溃可能会有所帮助:

https://cwiki.apache.org/confluence/display/solr/Result+Grouping