Обработчик ввода данных SOLR ( DIH): извлечь адреса электронной почты во время индексации и поместить в другое поле?

У меня есть поле с именем main_text, которое содержит большие текстовые записи.

Я хочу переиндексировать свои данные, создав новую коллекцию, но я хочу извлечь все адреса электронной почты из этого поля в новое специальное поле с именем emails_fields.

Каков будет лучший способ сделать это?

Какой обработчик использовать? DIH? другой? какого типа должно быть это новое поле?

1 ответ

Чтобы использовать DataImportHandler, вы должны добавить что-то похожее на следующее data-config.xml файл.

<field column="email_fields" regex="(/S+@/S+)" sourceColName="main_text"/>

Это будет искать адреса электронной почты, которые соответствуют регулярному выражению /S+@/S+, Это регулярное выражение должно быть изменено на что-то лучшее для реального использования.

Тип поля зависит от того, как вы хотите его искать, но, вероятно, оно должно быть string или же text_general и если вы ожидаете, что в каждом документе будет более одного электронного письма, оно должно быть многозначным.

Другие вопросы по тегам