可以在solr中创建具有多个值的构面吗?请看详情

时间:2012-06-15 14:06:17

标签: search solr

我有一个名为articleType的字段。一篇文章可以有一种或多种类型。现在我想创建一个方面,例如type_facet将包含article的“type”列的所有值。 I.E它将从单列中获取多个值,任何想法是如何可能的?

我知道facet可以是多值的,但这只有在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"/>

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

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

1 个答案:

答案 0 :(得分:0)

这应该可以开箱即用。将articleType字段更改为具有对索引使用WhitespaceTokenizerFactory标记生成器的类型(可能在默认Solr安装中称为textgen或某些内容)。然后将所有适用的文章类型用文章文档的该字段中的空格分隔。当你面对那个领域时,它将返回你所有这些值。如果您的文章类型是多字,那么您将必须使用多值字段和facet。再次,它应该工作。