Вопрос

Привет, у меня есть файл со следующим содержимым.характер '.'обозначает пространство.

abc-a-1..............lime..............red........
xyz..................peach.............yellow.....
.

Я хочу использовать обработчик импорта данных для анализа этих данных на три поля.Это то, что у меня так далеко -

<entity name="iCode" processor="LineEntityProcessor" url="file.csv" 
                   dataSource="find_file"
                   transformer="RegexTransformer,TemplateTransformer">

  <field column="code" regex="^(\w*)"  sourceColName="rawLine" />
  <field column="fruit" regex="(\W)\b.*"  sourceColName="rawLine" />
  <field column="color" regex="(\w*)\s*$"  sourceColName="rawLine" />

</entity>
.

Импорт успешно работает, но у меня нет никаких документов, созданных в Solr.Я верю, что регулярное выражение не верно.

Есть идеи, как я могу получить это на работу?

Это было полезно?

Решение

попробуйте

<field column="code" regex="^(\S+)" />
<field column="fruit" regex="(\S)+(?=\s+\S+\s+$)" />
<field column="color" regex="(\S+)(?=\s+$)" />
.

    .
  • Первые совпадающие все небебешевые пространства в начале линии.
  • Второе соответствует всем небелистым пробегам, а затем пробелы и не пробелы в конце линии, оставляя их из результата.
  • Третий матч все небелистые пробелы, сопровождаемые пробелами в конце линии, оставляя их из результата.
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top