使用solr索引维基百科转储

时间:2013-05-16 16:26:05

标签: solr indexing dump wikipedia

我的机器上安装了solr 3.6.2,与tomcat完美配合。我想使用solr索引一个维基百科转储文件。如何使用DataImportHandler执行此操作?还有其他方法吗?我对xml没有任何了解。

我提到的文件在提取时大小约为45GB。 任何帮助将不胜感激。

更新 - 我试着在DataImportHandler页面上说什么。但是有一些错误可能是因为他们的solr版本更老了。

我的data.config -

<dataConfig>
    <dataSource type="FileDataSource" encoding="UTF-8" />
    <document>
    <entity name="page"
            processor="XPathEntityProcessor"
            stream="true"
            forEach="/mediawiki/page/"
            url="./data/enwiki.xml"
            transformer="RegexTransformer,DateFormatTransformer"
            >
        <field column="id"        xpath="/mediawiki/page/id" />
        <field column="title"     xpath="/mediawiki/page/title" />
        <field column="revision"  xpath="/mediawiki/page/revision/id" />
        <field column="user"      xpath="/mediawiki/page/revision/contributor/username" />
        <field column="userId"    xpath="/mediawiki/page/revision/contributor/id" />
        <field column="text"      xpath="/mediawiki/page/revision/text" />
        <field column="timestamp" xpath="/mediawiki/page/revision/timestamp" dateTimeFormat="yyyy-MM-dd'T'hh:mm:ss'Z'" />
        <field column="$skipDoc"  regex="^#REDIRECT .*" replaceWith="true" sourceColName="text"/>
   </entity>
    </document>

Schema(我刚将他们在网站上提供的部分添加到我的schema.xml文件中)

我得到的错误是 -

<response>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">0</int>
</lst>
<lst name="initArgs">
<lst name="defaults">
<str name="config">solr-data-config.xml</str>
</lst>
</lst>
<str name="command">full-import</str>
<str name="status">idle</str>
<str name="importResponse"/>
<lst name="statusMessages">
<str name="Time Elapsed">0:0:1.381</str>
<str name="Total Requests made to DataSource">0</str>
<str name="Total Rows Fetched">0</str>
<str name="Total Documents Processed">0</str>
<str name="Total Documents Skipped">0</str>
<str name="">Indexing failed. Rolled back all changes.</str>
<str name="Rolledback">2013-05-17 16:48:32</str>
</lst>
<str name="WARNING">
This response format is experimental. It is likely to change in the future.
</str>
</response>

请帮助

1 个答案:

答案 0 :(得分:2)

简单的帖子不是索引维基百科的正确方法。你需要研究using DataImportHandler instead。 DIH支持流媒体导入。