多面体上的 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 尚未合并
我的每个文档都可以有一个或多个名为 类 的字段条目,描述文档的某些属性,始终采用以下形式:
<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 尚未合并