所以,这是我的问题。我有像这样的对象
public class FooClass{
private int fooInt;
private String fooString, fooString_2;
}
我必须搜索它们,用它们的一个参数来区分它们。另外,我需要将它们存储为二进制文件(ObjectOutputStream
等)。到目前为止,我想过使用多个ArrayList
或多个HashMap
,但后者的问题是我需要执行部分字符串匹配,(beginsWith
),所以{{1}我认为是没有用的..无论如何,在实现方面有多个相同对象的列表似乎很糟糕,而且在这一点上我真的被困在想法之外。任何帮助将不胜感激!
答案 0 :(得分:0)
我发现这篇文章:Use search engine technology for object persistence(我还没有完全看过),但我认为这是你正在寻找的解决方案。解决方案基于Lucene。
如果您决定使用Lucene,那么您应该查看tutorials。本教程的一部分还讨论了Basic Concepts,它将帮助您确定此解决方案是否适合您。
如果您希望将数据表示为Java对象(我认为这是您真正需要的解决方案),最好使用Compass(构建在Lucene之上)。它支持自动编组,这意味着Compass在运行时从Object模型中提取所需的属性,并将所需的元数据插入到搜索引擎索引中。看看 OSEM - 对象/搜索引擎映射<{3}}。中的