预装的基于文档的桌面应用程序

时间:2013-01-20 10:47:01

标签: java python nosql

我想开发一个桌面应用程序,允许用户搜索json文件。 这些文件(大约50.000)是预定义的。它们应随应用程序本身一起提供。

我的问题是,使用该应用程序发送这些文档的最佳方式是什么,同时允许用户搜索包含某些值的文档,例如在sql术语中:显示文档中某些json值的所有文档,如%Example%。

我考虑过使用某种NoSQL解决方案,将文件预加载到数据库并将其与应用程序捆绑在一起。我已经看了一些解决方案,但我不确定哪一个最适合我的需求,或者它是否是最好的方法。

底线是,我不能让我的用户在他们的系统上安装db,这太复杂了。

我更喜欢适合java或python的解决方案。

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

You can use an embedded database,基于内存的数据库(如hsql)或基于文件的数据库,如sqlite。

既不需要最终用户的任何安装。您只需将库打包为应用程序安装包的一部分(当然还有引擎本身)。

如果你正在寻找一个k / v商店,那么好的'Berkeley DB就足够了。如果您真的在寻找“嵌入式NoSQL解决方案”,请尝试MooDB

答案 1 :(得分:0)

Mongo DB有一个嵌入版本:https://github.com/flapdoodle-oss/embedmongo.flapdoodle.de

我已将它用于集成测试(模拟Mongo服务器)并且它的效果非常好!

每当我阅读文档和搜索时,我也会想到Solr:http://lucene.apache.org/solr/