2017-07-02 3 views
0

J'ai quelques problèmes quand j'ai essayé d'obtenir des fichiers d'un serveur ftp pour extraire des métadonnées avec tikaEntityProcessor.Solr DIH-Problèmes lors de l'obtention de fichiers à partir de serveurs Ftp dans le processeur TikaEntity. Comment puis-je transmettre des informations d'identification à UrlDataSource?

J'ai besoin d'un moyen de transmettre des informations d'identification à UrlDataSource.

Quelqu'un peut-il me dire comment faire?

valeurs Exemple:

url: ftp://localhost/Oreilly.Mercurial.The.Definitive.Guide.Jun.2009.pdf

ftp user: alex

ftp password: pass

Ceci est mon Data-config.xml

<dataConfig> 
    <dataSource type="BinURLDataSource" name="binSource" 
     baseUrl="ftp://localhost:21/" onError="skip" />  
    <dataSource type="JdbcDataSource" 
       driver="org.postgresql.Driver" 
       url="jdbc:postgresql://localhost:5432/files" 
       user="postgres" 
       password="admin" 
       readOnly="true" 
       autoCommit="false" 
       transactionIsolation="TRANSACTION_READ_COMMITTED" 
       holdability="CLOSE_CURSORS_AT_COMMIT"/> 
    <document> 
     <entity name="item" query="select* from filesfromftp" 
       deltaQuery="select url from filesfromftp" 
       rootEntity="false" 
       transformer="RegexTransformer">    
       <field column="url" name="id" />    
       <entity name="tika-test" 
         processor="TikaEntityProcessor" 
         url="${item.url}" 
         format="none" 
         dataSource="binSource"       
         onError="skip">      
        <field column="Author" name="author" meta="true"/> 
        <field column="title" name="title" meta="true"/> 
        <field column="pdf:docinfo:title" name="title" meta="true"/> 
        <field column="xmpTPg:NPages" name="numPages" meta="true"/> 
        <field column="Creation-Date" name="createdDate" meta="true"/> 
       </entity> 
     </entity> 
    </document> 
</dataConfig> 

Lorsque j'exécute des données d'importation de gestionnaire je reçois cette erreur:

Exception in entity : tika-test:org.apache.solr.handler.dataimport.DataImportHandlerException: Exception in invoking url ftp://localhost/jnioche-bristoljavameetup20150310-150311041443-conversion-gate01.pdf Processing Document # 1 
    at org.apache.solr.handler.dataimport.DataImportHandlerException.wrapAndThrow(DataImportHandlerException.java:69) 
    at org.apache.solr.handler.dataimport.BinURLDataSource.getData(BinURLDataSource.java:89) 
    at org.apache.solr.handler.dataimport.BinURLDataSource.getData(BinURLDataSource.java:38) 
    at org.apache.solr.handler.dataimport.TikaEntityProcessor.nextRow(TikaEntityProcessor.java:128) 
    at org.apache.solr.handler.dataimport.EntityProcessorWrapper.nextRow(EntityProcessorWrapper.java:244) 
    at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:475) 
    at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:516) 
    at org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:414) 
    at org.apache.solr.handler.dataimport.DocBuilder.doFullDump(DocBuilder.java:329) 
    at org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:232) 
    at org.apache.solr.handler.dataimport.DataImporter.doFullImport(DataImporter.java:416) 
    at org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.java:475) 
    at org.apache.solr.handler.dataimport.DataImporter.lambda$runAsync$0(DataImporter.java:458) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: sun.net.ftp.FtpLoginException: Invalid username/password 
    at sun.net.www.protocol.ftp.FtpURLConnection.connect(FtpURLConnection.java:308) 
    at sun.net.www.protocol.ftp.FtpURLConnection.getInputStream(FtpURLConnection.java:393) 
    at org.apache.solr.handler.dataimport.BinURLDataSource.getData(BinURLDataSource.java:86) 
    ... 12 more 

S'il vous plaît, comment puis-je établir un connexion avec un FtpServer au sein de SolrDIH?

Existe-t-il un moyen de transmettre des informations d'identification à UrlDataSource?

Répondre

0

Il existe un correctif disponible here à cette fin. C'est très ancien, mais vous pouvez le porter sur une version plus récente. Regardez un commentaire assez récent montrant comment vous pouvez créer votre URLDataSource personnalisé avec auth.