java - 使用 Lucene 索引单个 Xml 文件

标签 java xml indexing solr lucene

我正在编写一个 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 的提示,请告诉我:)

最佳答案

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

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

关于java - 使用 Lucene 索引单个 Xml 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36361775/

相关文章:

java - Spring:标准日志方面(拦截器)

python - 如何用 Python 2.6 和 minidom 添加 xml-stylesheet 处理指令节点?

XML Schema 如何通过枚举限制属性

c# - 书籍索引的序列和 Rangify 列表

python - 假设我在数据库中有 400 行人名。搜索他们姓名的最佳方式是什么?

java - SAXParseException;系统ID : cumulative size of entities exceeds bound

java - SonarQube:自定义 Java 规则在 UI 中不可见

java - Tomcat 自己关机

SQL FOR XML 路径,返回多个子元素

indexing - mnesia match_object 与复杂索引