从XML创建Lucene文档

时间:2012-02-23 10:27:15

标签: xml lucene

我有一个XML文档,我想将它索引到Lucene索引。 即。

<hello>
  <world>hi</world>
</hello>

我希望文档中有一个Field(hello.world:"hi“)(指定一个分析器)

我总是可以解析它,但我想知道是否存在任何自动生成它的工具?

1 个答案:

答案 0 :(得分:1)

是的,有一个“工具”(实际上是一个完整的数据库服务器)可以自动执行此操作:eXist。如果配置正确,这允许您混合XQuery和Lucene全文查询,如

for $hit in collection("/db/my-stuff")//hello/world[ft:query("hi")]
  order by ft:score($hit)  (:uses Lucene scoring formula:)
  return $hit

分析程序在每个文档集合配置文件中指定。

在(旧)IBM DeveloperWorks article中描述了使用Apache Digester的更轻量级方法。

编辑在处理了eXist两年之后,我想补充一点,它的Lucene集成并不完美。对于简单查询,它通常可以正常工作,但是当在复杂的XPath查询中执行全文查询时,看起来查询优化器会变得混乱,您可能得到错误的结果或可怕的性能。也许eXist 2.0已经解决了一些问题,YMMV。