小编KoW*_*KoW的帖子

Bitcask ok适用于简单且高性能的文件存储?

我正在寻找一种存储和检索数百万个xml文件的简单方法.目前一切都在文件系统中完成,这有一些性能问题.

我们的要求是:

  1. 能够在批处理过程中存储数百万个xml文件.XML文件可能高达几兆,大多数在100KB范围内.
  2. 通过id进行非常快速的随机查找(例如文档URL)
  3. Java和Perl都可以访问
  4. 可在最重要的Linux-Distros和Windows上使用

我确实看过几个NoSQL平台(例如CouchDB,Riak等),虽然这些系统看起来很棒,但它们看起来几乎像过度杀戮一样:

  1. 不需要群集
  2. 不需要守护进程("服务")
  3. 不需要聪明的搜索功能

深入研究Riak之后,我找到了Bitcask(见介绍),这看起来就像我想要的那样.介绍中描述的基础知识非常有趣.但不幸的是,没有办法通过java访问bitcask repo(或者在那里?)

所以,我的问题归结为

  • 以下假设是正确的:Bitcask模型(仅附加写入,内存中密钥管理)是存储/检索数百万个文档的正确方法
  • 有没有可用的替代Bitcask可通过Java?(BerkleyDB浮现在脑海中......)
  • (对于riak专家)与"裸"Bitcask相比,Riak实施/管理/资源方面的开销是多少?

java xml file riak

6
推荐指数
2
解决办法
1548
查看次数

Hibernate Search QueryBuilder:查询非实体字段

我试图使用来自Hibernate Search的QueryBuilder,其中的字段不是相应实体的属性,而是使用ClassBridge在运行中构建.我能这样做吗?

QueryBuilder qb = fullTextEntityManager.getSearchFactory().
        buildQueryBuilder().forEntity(Publication.class).get();
    ....
Query query = qb.keyword().onField("title").matching("Lärm").createQuery();
Run Code Online (Sandbox Code Playgroud)

字段"title"不是Publication类的一部分,但在Lucene索引中可用(并且可搜索).

更新:根据https://forum.hibernate.org/viewtopic.php?f=9&t=1008943,以下工作:

QueryBuilder qb = fullTextEntityManager.getSearchFactory().
        buildQueryBuilder().forEntity(Publication.class).get();
    ....
Query query = qb.keyword().onField("title").ignoreFieldBridge().matching("Lärm").createQuery();
Run Code Online (Sandbox Code Playgroud)

(ignoreFieldBridge做了伎俩)

lucene hibernate-search

6
推荐指数
0
解决办法
1265
查看次数

标签 统计

file ×1

hibernate-search ×1

java ×1

lucene ×1

riak ×1

xml ×1