solr - 在 SOLR 中过滤和分面多值字段

标签 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 列表中

为了使事情稍微复杂一些,我想过滤返回哪些方面(在上面的示例中,我们只说以“a”开头的方面):

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

我想我需要以某种方式过滤这些方面,但我不知道如何开始。欢迎提出建议!

最佳答案

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

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

以上查询将过滤构面并仅返回以 a 开头的构面。

关于solr - 在 SOLR 中过滤和分面多值字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39920484/

相关文章:

php - 多面搜索(solr)与通过 PHP 进行的旧式过滤比较好?

elasticsearch - 在 Elastic Search 中计算 *Facet Counts* 的有效方法

Drupal:重用多面搜索 block

mysql - DataImportHandler 未在 solr admin 中索引 mysql 表

docker - 如何在Dockerfile中创建Solr核心以及如何将本地目录添加到容器/opt/solr目录

mysql - 使用solr搜索mysql数据库表

solr - 用非常简单的术语来说,precisionStep 是什么?

solr - 如何在单个 solr suggester 中配置多个上下文字段?

solr - 用于自动完成的近实时 Solr Facet 查询

elasticsearch - Elasticsearch:带有返回意外结果的术语的多面查询