SOLR:将 2 个字段复制到另一个字段并向该新字段添加过滤器
SOLR: copy 2 fields into another field and add filters to that new field
导入时,我在 CSV 文件中有以下字段
<field name="Brand" type="string" indexed="true"/>
<field name="Colour" type="lowercaseExactMatch"/>
<field name="Keywords" type="text_general"/>
<field name="Name" type="text_general" indexed="true"/>
<field name="Price" type="string" indexed="true"/>
<field name="SKU" type="string" multiValued="false" indexed="true" required="true" stored="true"/>
我想动态创建另一个字段 NameKeywords
,我想在其中连接名称和关键字字段。
此外,我想应用小写字母、EnglishPorterFilterFactory、EnglishPossessiveFilter 和 HyphenatedWordsFilter
所以我可以通过创建自定义字段类型将过滤器应用于该字段。但是如何将两个字段组合成另一个字段?
我在 schema.xml
中看到了 CopyField
<copyField source="Name" dest="Name_str" maxChars="256"/>
但不确定它是否显示在任何地方以及如何在此处组合字段。
创建一个名为 NameKeywords 的字段,如下所示。
<field name="NameKeywords" type="customFieldType" indexed="true" stored="true" multiValued="true"/>
然后将源字段复制到目标字段,如下所示。
<copyField source="Name" dest="NameKeywords"/>
<copyField source="Keywords" dest="NameKeywords"/>
导入时,我在 CSV 文件中有以下字段
<field name="Brand" type="string" indexed="true"/>
<field name="Colour" type="lowercaseExactMatch"/>
<field name="Keywords" type="text_general"/>
<field name="Name" type="text_general" indexed="true"/>
<field name="Price" type="string" indexed="true"/>
<field name="SKU" type="string" multiValued="false" indexed="true" required="true" stored="true"/>
我想动态创建另一个字段 NameKeywords
,我想在其中连接名称和关键字字段。
此外,我想应用小写字母、EnglishPorterFilterFactory、EnglishPossessiveFilter 和 HyphenatedWordsFilter
所以我可以通过创建自定义字段类型将过滤器应用于该字段。但是如何将两个字段组合成另一个字段?
我在 schema.xml
中看到了 CopyField <copyField source="Name" dest="Name_str" maxChars="256"/>
但不确定它是否显示在任何地方以及如何在此处组合字段。
创建一个名为 NameKeywords 的字段,如下所示。
<field name="NameKeywords" type="customFieldType" indexed="true" stored="true" multiValued="true"/>
然后将源字段复制到目标字段,如下所示。
<copyField source="Name" dest="NameKeywords"/>
<copyField source="Keywords" dest="NameKeywords"/>