【问题标题】:index all files inside a folder in solr索引solr文件夹内的所有文件
【发布时间】:2016-07-05 13:09:21
【问题描述】:

我在 solr 中索引文件夹时遇到问题

示例数据配置.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"/>

最后我修改了 solrConfig.xml 文件,添加了 requesthandler 以及 dataImportHandler 和 dataImportHandler-extra jars:

    <requestHandler name="/dataimport" class="solr.DataImportHandler">
    <lst name="defaults">
        <str name="config">example-data-config.xml</str>
    </lst>
</requestHandler>

我运行它,结果是:

在该文件夹内有大约 20.000 个不同格式的文件(.py、.java、.wsdl 等)

任何建议将不胜感激。谢谢:)

【问题讨论】:

  • 似乎 recursive="true" 以某种方式不起作用,我尝试使用子文件夹并且子文件夹的信息已正确索引。但根本原因我现在真的不知道

标签: indexing solr lucene directory


【解决方案1】:

检查您的 Solr 日志。什么是Root Cause 的答案肯定会出现。我也遇到过同样的情况,通过 solr 日志发现我的DataImportHandler 正在抛出异常,因为文件夹中存在encrypted documents。您的原因可能不同,但首先分析您的 solr 日志,在DataImport 部分再次执行您的entity,然后通过管理页面上的logging 部分检查即时日志是否有错误。如果您遇到我提到的错误以外的错误,请在此处发布,以便理解和破译。

【讨论】:

  • 感谢您的快速回复:)。我查看了日志,当 Solr 尝试索引 .png 图像时似乎存在问题,所以我现在正在做的是列出所有对我没有有用信息的文件的列表,例如 (png, jpg、swf 等),不要将它们编入索引。
  • 在此处发布您的日志中的内容。而且,如果对您有帮助,希望您接受我的回答:)
猜你喜欢
  • 2017-09-01
  • 2017-01-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-12
  • 1970-01-01
  • 1970-01-01
  • 2021-10-12
相关资源
最近更新 更多