多面体上的 Solr 过滤器

Solr filter on facets

我的每个文档都可以有一个或多个名为 类 的字段条目,描述文档的某些属性,始终采用以下形式:

<field name="Classes">"<Description> - <TypeLabel> - <OriginLabel>"</field>

例如,关于食物的文档可能有两个字段:

<field name="Classes">"Yellow orange - Fruit - California"</field>
<field name="Classes">"Small broccoli - Vegetable - Florida"</field>

我正在使用 Solr 5.0 和一个 schema.xml 文件,其中我有一个多值 "text_en" 字段 类,我将其复制到 "string" 字段 Classes_asString 这样我就可以在整个领域做分面,把它当作一个大标签。

在 Classes_asString 上使用 facet.field 我得到了我想要的方面计数,但现在我想另外过滤这些结果。

例如,如何只获取以 "California" 结尾的分面结果?

或者,在另一个示例中,我如何只获得在两个“-”之间具有 "Vegetable" 的分面结果?

我看到了选项facet.prefix,但这不适用于我的情况。如果有任何帮助或建议,我将不胜感激。

也许这个场景是个好用的地方:

  • 将 类 信息索引为 Child documents。您在这些字段中至少有 3 个字段,因此值得为此使用他们自己的文档吗?
  • 那么你应该能够在特定的子字段上分面,如果支持当前的 Solr 版本(不确定),或者 work in this ticket 尚未合并