未从 Solr Facets 获得所需结果

未从 Solr Facets 获得所需结果

我正在向我的 Solr 查询添加方面,但得到了一些奇怪的结果。

假设我有一个想要分面的制造商列表。此列表将包括:

港务局
Carhartt 服装
Dickies 制服

我对此的看法如下:

<int name="port">157</int>
<int name="authority">156</int>
<int name="clothing">156</int>
<int name="carhartt">105</int>
<int name="uniforms">67</int>
<int name="dickies">58</int>

有没有办法让方面使用完整值,而不是按每个单词拆分?我在 schema.xml 文件中将 manufacturer 定义为:

<field name="manufacturer" type="text_general" indexed="true" stored="true" multiValued="false"/>

我基本上使用的是下载 Solr 时示例目录中的默认 schema.xml 文件。我对默认示例所做的唯一更改就是添加了我的字段。

答案1

一个简单的方法是将数据复制到特定的方面字段。您通常不希望对方面字段进行标记化或任何其他更改。

例如,在 solr schema.xml 中你可以执行

<copyField source="manufacturer" dest="manufacturerFacet"/>

这会将您尝试存储在制造商字段的数据自动复制到制造商Facet。这样,您就可以使用字符串作为基本标准类型(无需标记化)将制造商Facet 字段设置为以下内容。

<field name="manufacturerFacet" type="string" indexed="true" stored="false" multiValued="true"/>
<fieldType name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true"/>

相关内容