Solr DIH获得许多且仅有一个已处理

时间:2015-03-09 13:45:38

标签: solr

我必须构建一个应用程序,我必须搜索属于PDF,DOC,DOCX等文件。我想使用Solr索引包含所有文件的整个目录,然后在文档中搜索单词。

在网上看,我看到更快的方法是使用DIH。我用这种方式设置了这家旅馆:

solrconfig.xml中

 <requestHandler name="/update/extract" 
                  startup="lazy"
                  class="solr.extraction.ExtractingRequestHandler" >
    <lst name="defaults">
      <str name="lowernames">true</str>
      <str name="uprefix">ignored_</str>

      <!-- capture link hrefs but ignore div attributes -->
      <str name="captureAttr">true</str>
      <str name="fmap.a">links</str>
      <str name="fmap.div">ignored_</str>
    </lst>
  </requestHandler>

solr的数据-config.xml中

<dataConfig>  
    <dataSource type="BinFileDataSource" name="bin"/>
        <document>
            <entity name="sd" 
                    processor="FileListEntityProcessor"
                    baseDir="C:\Solr\solr-5.0.0\docs\myFolder\" 
                    fileName=".*\.(doc)|(pdf)|(docx)"
                    recursive="true"
                    rootEntity="false"
                    transformer="DateFormatTransformer">

                    <entity name="tika-test" processor="TikaEntityProcessor" url="${sd.fileAbsolutePath}"
                            format="text">
                            <field column="text" name="text"/>
                    </entity>

                    <field column="fileSize" name="size" />
                    <field column="file" name="filename" />

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

当我从DataImport(Web管理页面)启动“执行”时,我得到:

Indexing completed. Added/Updated: 1 documents. Deleted 0 documents. (Duration: 03s)
Requests: 0 (0/s), Fetched: 329 (110/s), Skipped: 0, Processed: 1 

我在这个folter中有很多doc,pdf和docx(显示为... 329)但只有第一个已被处理,如果我执行查询,我只得到文件名...任何内容。

"response": {
    "numFound": 1,
    "start": 0,
    "docs": [
      {
        "fileName": "first_doc.doc",
        "id": "4a06f6de-870d-4db9-875d-cd8dbd17309d"
      }
    ]
  }

哪里错了?

1 个答案:

答案 0 :(得分:3)

我假设你使用的是Apache Solr 5.0 ......我也遇到了你遇到的同样问题。

这似乎与一个问题有关,最近已经解决了这个问题:

https://issues.apache.org/jira/browse/SOLR-7174

如果您检查Solr的主干版本并使用它,您将看到此问题已修复,如果您想自己测试,我会为您留下一些链接。

svn.apache.org/repos/asf/lucene/dev/trunk/ - &gt; SOLR结账链接 https://wiki.apache.org/solr/HowToCompileSolr - &gt;如何编译SOLR并将其与当前安装一起使用

或者,您可以等待新的SOLR版本,这应该解决此问题。