Pergunta

Olá, tenho um arquivo com o seguinte conteúdo.o personagem '.' indica espaço.

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

Quero usar o manipulador de importação de dados para analisar esses dados em três campos.isso é o que eu tenho até agora-

<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>

A importação é executada com sucesso, mas não recebo nenhum documento criado no solr.Acredito que o regex não esteja correto.

Alguma idéia de como posso fazer isso funcionar?

Foi útil?

Solução

Tentar

<field column="code" regex="^(\S+)" />
<field column="fruit" regex="(\S)+(?=\s+\S+\s+$)" />
<field column="color" regex="(\S+)(?=\s+$)" />
  • O primeiro corresponde a todos os espaços que não sejam em branco no início da linha.
  • O segundo corresponde a todos os não espaços em branco seguidos de espaços em branco e não espaços no final da linha, deixando-os fora do resultado.
  • O terceiro corresponde a todos os espaços que não sejam em branco, seguidos de espaços em branco no final da linha, deixando-os fora do resultado.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top