Domanda

Ciao ho un file con i seguenti contenuti.il personaggio '.'denota spazio.

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

Voglio utilizzare il gestore di importazione dei dati per analizzare questi dati in tre campi.Questo è quello che ho finora -

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

L'importazione funziona correttamente, ma non ottengo documenti creati in SOLR.Credo che il regex non sia corretto.

Qualche idea come posso ottenere questo per funzionare?

È stato utile?

Soluzione

Prova

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

    .
  • Il primo corrisponde a tutti gli spazi non bianchi all'inizio della linea.
  • Il secondo corrisponde a tutti gli spazi non bianchi seguiti da spazi bianchi e non spazi alla fine della linea, lasciandoli fuori dal risultato.
  • La terza corrisponde a tutti gli spazi non bianchi seguiti da spazi bianchi alla fine della linea, lasciandoli fuori dal risultato.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top