Solr regextransformer - 解析空格分隔文件

时间:2014-07-31 18:01:41

标签: regex solr dataimporthandler

嗨我有一个包含以下内容的文件。角色'。'表示空间。

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中创建任何文档。我相信正则表达式是不正确的。

我有什么想法可以让它发挥作用吗?

1 个答案:

答案 0 :(得分:1)

尝试

<field column="code" regex="^(\S+)" />
<field column="fruit" regex="(\S)+(?=\s+\S+\s+$)" />
<field column="color" regex="(\S+)(?=\s+$)" />
  • 第一个匹配行开头的所有非空格。
  • 第二个匹配所有非空格,后面跟着行尾的空格和非空格,将它们排除在结果之外。
  • 第三个匹配所有非空格,后面跟着行尾的空格,将它们排除在结果之外。