4

我想使用 Lucene 在我的应用程序中实现过滤/搜索功能。

查询 Lucene 索引给了我一个Hits实例,它只不过是一个Document符合我条件的 s 列表。

由于我从我的对象生成索引Documents,这是查找与特定 Lucene 相关的原始对象的最佳方法Document


更好地描述我的情况:

  • 目前三个模型类:Folder(can have other Folders or Lists as children), List(can have Tasks as children) and Task(can have other Tasks as children)。它们都是 DefaultMutableTreeNode子类。以后我会添加Tag实体。
  • 每个Task都有一个文本、一个开始日期、一个截止日期、一些布尔标志。
  • 它们显示在JTree.
  • 孔树保存在 XML 文件中。
  • 我想做这样的事情:
  • Task使用类似 Google 的查询进行 搜索。
  • 查找Task从今天开始的所有 s。
  • 按过滤Tasks Tag
4

2 回答 2

3

你不能,不能用香草 Lucene。您自己说您将对象转换为文档,然后将文档存储在 Lucene 中,您如何想象这个过程是可逆的?

如果您想在 Lucene 中存储和检索自己的对象,我强烈建议您改用Compass。Compass 之于 Lucene 就像 Hibernate 之于 JDBC - 您定义对象和 Lucene 文档之间的映射,Compass 负责转换。

于 2009-09-24T15:14:37.970 回答
3

添加一个包含对象标识符的“存储”字段。对于每个命中,通过标识符查找原始对象。

在不了解更多上下文的情况下,很难更具体。

于 2009-09-24T15:15:14.053 回答