0

我有一个名为 articleType 的字段。一篇文章可以有一种或多种类型。现在我想创建一个构面,例如 type_facet,它将具有文章的“类型”列的所有值。IE 它将从单个列中获取多个值,任何想法怎么可能?

我知道 facet 可以是多值的,但这仅在 facet 从不同字段复制数据时才有效。

下面是方面的配置。

<field name="type" type="string" indexed="true" stored="true" omitNorms="true"/>
<field name="type_facet" type="string" indexed="true" stored="true" omitNorms="true" multiValued="true"/>

然后我将此类型值复制到构面。

<copyField source="type" dest="type_facet"/>
4

1 回答 1

0

这应该是开箱即用的。将 articleType 字段更改为使用 WhitespaceTokenizerFactory 标记器作为索引的类型(textgen在默认的 Solr 安装中可能称为类似或类似的东西)。然后将所有适用的文章类型用空格分隔在文章文档的该字段中。然后,当您按该字段分面时,它将返回所有此类值。如果您的文章类型是多字的,那么您将不得不在这些字段上使用多值字段和构面。同样,它应该可以正常工作。

于 2012-06-15T20:20:32.077 回答