SOLR: скопировать 2 поля в другое поле и добавить фильтры в это новое поле - PullRequest
2 голосов
/ 21 февраля 2020

При импорте у меня есть следующие поля в 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

Так что я могу применить фильтры к этому полю, создав собственный тип поля. Но как объединить два поля в другое поле?

Я видел CopyField в своей схеме. xml

  <copyField source="Name" dest="Name_str" maxChars="256"/>

Но не уверен, что он отображается где-либо и как здесь комбинировать поля.

1 Ответ

3 голосов
/ 21 февраля 2020

Создайте поле с именем NameKeywords, как показано ниже.

<field name="NameKeywords" type="customFieldType" indexed="true" stored="true" multiValued="true"/>

, затем скопируйте исходные поля в поле назначения, как показано ниже.

<copyField source="Name" dest="NameKeywords"/>
<copyField source="Keywords" dest="NameKeywords"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...