Pregunta

Hola tengo un archivo con los siguientes contenidos.el personaje '.'denota espacio.

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

Quiero usar el controlador de importación de datos para analizar estos datos en tres campos.Esto es lo que tengo hasta ahora -

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

La importación se ejecuta con éxito, pero no obtengo ningún documento creado en Solr.Creo que el regex no es correcto.

¿Alguna idea de cómo puedo hacer que esto funcione?

¿Fue útil?

Solución

try

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

  • Los primeros coinciden con todos los espacios en blanco al principio de la línea.
  • El segundo coincide con todos los espacios en blanco seguido de espacios en blanco y no espacios al final de la línea, dejándolos fuera del resultado.
  • El tercero coincide con todos los espacios en blanco seguidos de espacios en blanco al final de la línea, dejándolos fuera del resultado.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top