2016-07-05 1 views
0

에서 폴더 내의 모든 파일 SOLR에서 폴더를 인덱싱 문제를 가진 지수는 내가 SOLR

예를 들어 데이터-config.xml에

:

<dataConfig> 
<dataSource type="BinFileDataSource" /> 
    <document> 
     <entity name="files" 
     dataSource="null" 
     rootEntity="false" 
     processor="FileListEntityProcessor" 
     baseDir="C:\Temp\" fileName=".*" 
     recursive="true" 
     onError="skip"> 
      <field column="fileAbsolutePath" name="id" /> 
      <field column="fileSize" name="size" /> 
      <field column="fileLastModified" name="lastModified" /> 

      <entity 
       name="documentImport" 
       processor="TikaEntityProcessor" 
       url="${files.fileAbsolutePath}" 
       format="text"> 
       <field column="file" name="fileName"/> 
       <field column="Author" name="author" meta="true"/> 
       <field column="text" name="text"/> 

      </entity> 
    </entity> 
    </document> 

는 난의 schema.xml를 만들 :

<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" /> 
    <field name="fileName" type="string" indexed="true" stored="true" /> 
    <field name="author" type="string" indexed="true" stored="true" /> 
    <field name="title" type="string" indexed="true" stored="true" /> 
    <field name="size" type="plong" indexed="true" stored="true" /> 
    <field name="lastModified" type="pdate" indexed="true" stored="true" /> 
    <field name="text" type="text_general" indexed="true" stored="true" multiValued="true"/> 

마침내 나는 RequestHandler를하고 dataImportHandler 및 dataImport을 추가 파일 solrConfig.xml을 수정 핸들러-추가 항아리 :

<requestHandler name="/dataimport" class="solr.DataImportHandler"> 
    <lst name="defaults"> 
     <str name="config">example-data-config.xml</str> 
    </lst> 
</requestHandler> 
나는 그것을 실행

그 결과는 다음과 같습니다 (개의 다른 형식의 20.000 파일처럼 해당 폴더 내부

result

을가 평, 된 .java, 된 .wsdl, 등)

어떤 제안을 주시면 감사하겠습니다. 감사합니다 :)

+0

마치 recursive = "true"가 어떤 식 으로든 작동하지 않는 것처럼 보입니다. 하위 폴더를 사용해 보았는데 하위 폴더 정보가 올바르게 색인되었습니다. 그러나 근본 원인은 내가이 시점에서 정말로 모른다는 것입니다 – user1848435

답변

0

당신의 Solr 로그를 확인하십시오. Root Cause은 분명히 거기에있게 될 것입니다. 나는 또한 한 번 같은 상황에 직면했고 내 DataImportHandlerencrypted documents이 폴더에 있기 때문에 예외를 던지고 있다는 solr 로그를 통해 발견했습니다. 이유는 다를 수 있지만 처음으로 solr 로그를 분석하고 섹션에서 entity 섹션을 다시 실행 한 다음 관리자 페이지의 logging 섹션으로 이동하여 오류에 대한 즉각적인 로그를 확인하십시오. 내가 언급 한 것과 다른 오류를 범하면 여기에 게시하여 이해하고 해독 할 수 있습니다.

+0

빠른 응답 주셔서 감사합니다 :). 나는 로그를보고 Solr이 .png 이미지를 색인하려고 할 때 문제가있는 것처럼 보입니다. 그래서 지금 당장하고있는 일은 나를 위해 유용한 정보가없는 모든 파일의 목록을 만드는 것입니다 (png, jpg, swf 등)을 생성하고 색인을 생성하지 않습니다. – user1848435

+0

여기에 무엇을 올리 시나요? 그리고 그것이 당신을 도운다면 내 대답을 받아들이 길 바랍니다 :) –

0
ERROR (Thread-17) [ x:example] o.a.s.h.d.DocBuilder Exception while processing: files document : null:org.apache.solr.handler.dataimport.DataImportHandlerException: Unable to read content Processing Document # 157 
at org.apache.solr.handler.dataimport.DataImportHandlerException.wrapAndThrow(DataImportHandlerException.java:69) 
at org.apache.solr.handler.dataimport.TikaEntityProcessor.nextRow(TikaEntityProcessor.java:165) 
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:514) 
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:480) 
at org.apache.solr.handler.dataimport.DataImporter$1.run(DataImporter.java:461) 
Caused by: org.apache.tika.exception.TikaException: image/png parse error 
at org.apache.tika.parser.image.ImageParser.parse(ImageParser.java:115) 
at org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:256) 
at org.apache.tika.parser.CompositeParser.parse(CompositeParser.java:256) 
at org.apache.tika.parser.AutoDetectParser.parse(AutoDetectParser.java:120) 
at org.apache.solr.handler.dataimport.TikaEntityProcessor.nextRow(TikaEntityProcessor.java:159) 
... 9 more 
Caused by: javax.imageio.IIOException: I/O error reading PNG header! 
at com.sun.imageio.plugins.png.PNGImageReader.readHeader(PNGImageReader.java:315) 
at com.sun.imageio.plugins.png.PNGImageReader.getWidth(PNGImageReader.java:1361) 
at org.apache.tika.parser.image.ImageParser.parse(ImageParser.java:92) 
... 13 more 
Caused by: javax.imageio.IIOException: Image width == 0! 
at com.sun.imageio.plugins.png.PNGImageReader.readHeader(PNGImageReader.java:273) 
... 15 more