2017-07-02 2 views
0

tikaEntityProcessorでいくつかのメタデータを抽出するためにftpサーバーからファイルを取得しようとすると、いくつか問題があります。TikaEntityプロセッサのFtpサーバからファイルを取得する際のSolr DIH-TroublesどのようにUrlDataSourceに資格情報を渡すことができますか?

UrlDataSourceにいくつかの資格情報を渡す方法が必要です。

誰でも、どうすればいいのですか?

値の例:

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

ftp user: alex

ftp password: pass

これは私の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> 

である私はデータのインポートハンドラを実行すると、私はこのエラーを取得:

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 

してください、どのように私は確立することができますSolrDIH内のFtpServerとの接続?

UrlDataSourceにいくつかの資格情報を渡す方法はありますか?

答えて

0

利用可能なパッチはhereです。それは非常に古いですが、新しいバージョンに移植することができます。 authでカスタムURLDataSourceを作成する方法を示す非常に最近のコメントを見てください。

関連する問題