2016-06-01 9 views
0

При индексировании данных из локальной папки в моей системе я использую приведенную ниже конфигурацию. Однако последний измененный атрибут индексируется в формате «ср 23 май 09:48:08 UTC ", который не является стандартным форматом, используемым solr для запросов фильтра. Итак, я пытаюсь отформатировать атрибут lastmodified в файле data-config.xml, как показано ниже.DateFormatTransformer, не работающий с FileListEntityProcessor в обработчике импорта данных

<dataConfig> 
    <dataSource name="bin" type="BinFileDataSource" /> 
    <document> 
     <entity name="f" dataSource="null" rootEntity="false" 
      processor="FileListEntityProcessor" 
      baseDir="D://FileBank" 
      fileName=".*\.(DOC)|(PDF)|(pdf)|(doc)|(docx)|(ppt)" onError="skip" 
      recursive="true" transformer="DateFormatTransformer"> 

      <field column="fileAbsolutePath" name="path" /> 
      <field column="fileSize" name="size" /> 
      <field column="fileLastModified" name="lastmodified" dateTimeFormat="YYYY-MM-DDTHH:MM:SS.000Z" locale="en"/> 
      <entity name="tika-test" dataSource="bin" processor="TikaEntityProcessor" 
      url="${f.fileAbsolutePath}" format="text" onError="skip"> 
       <field column="Author" name="author" meta="true"/> 
       <field column="title" name="title" meta="true"/> 
       <!--<field column="text" />-->   
      </entity> 
     </entity> 
    </document> 
</dataConfig> 

Но нет никакого влияния трансформатора, и тот же формат индексируется снова. Кто-нибудь добился успеха в этом? Правильно ли указанная выше конфигурация, или я что-то пропустил?

ответ

1

Ваш срок поставки DateTimeFormat не соответствует действительности. Верхний и нижний регистр символов have different meaning. Также формат, который вы показали, не соответствует тексту даты, который вы пытаетесь проанализировать. Таким образом, он, вероятно, сохраняет его как непревзойденный.

Кроме того, если у вас есть несколько разных форматов даты, вы можете проанализировать их после DIH запускается путем создания собственной цепочки обновлений UpdateRequestProcessor. Вы можете увидеть пример, где есть несколько форматов даты как часть автоматического сопоставления, но вы также можете сделать то же самое для определенного поля явно.

+0

Спасибо! это был какой-то ответ! –

 Смежные вопросы

  • Нет связанных вопросов^_^