【问题标题】:Index single Xml-file with Lucene使用 Lucene 索引单个 Xml 文件
【发布时间】:2016-07-21 13:57:40
【问题描述】:

我正在编写一个 Java 应用程序,并希望使用 Lucene 索引一个 Xml 文件,以便搜索具有给定目标的药物。文件大小为 400MB,包含 8000 多个药物条目。

<drug type="biotech" created="2005-06-13" updated="2015-11-27">
    <drugbank-id primary="true">DB00001</drugbank-id>
    <drugbank-id>BIOD00024</drugbank-id>
    <drugbank-id>BTD00024</drugbank-id>
    <name>Lepirudin</name>
    ....
    <targets>
        <target position="1">
            <id>BE0000767</id>
            <name>Epidermal growth factor receptor</name>
            ....
        </target>
        ....
    </targets>
</drug>
<drug>
....
</drug>

我怎样才能索引这个文件,以便一个药物条目是一个文档? 如果有人有一些有用的链接/资源或有关如何索引此 Xml 的提示,请告诉我:)

【问题讨论】:

    标签: java xml indexing solr lucene


    【解决方案1】:

    最灵活的策略通常是通过一个小型 Java 应用程序来just use SolrJ,该应用程序读取文件并将其转换为适合在 Solr 中索引的格式。这样,您就可以在 Solr 接收某些字段之前轻松对其进行预处理。

    另一个选项是use XSL to transform the XML file into something that Solr understands。这可以在服务器端(与链接的 XSLTUpdateRequestHandler 一样)或客户端(将 XML 文档转换为更新请求并将其提交给标准请求处理程序)使用。

    【讨论】:

    • 再次您好,感谢您的回复,我应该使用 EmbeddedSolrServer 吗?我想在我的应用程序/插件启动时索引 xml 文件,并在使用插件时多次查询,然后在下次启动时重新索引文件。我是否需要以编程方式对每个药物字段进行预处理和索引,还是可以使用 schema.xml?有没有关于制作和使用 schema.xml 的好教程?
    猜你喜欢
    • 2011-10-20
    • 2011-12-13
    • 2015-08-28
    • 2013-01-31
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    相关资源
    最近更新 更多