外存规则引擎
2 个回答
1
这不是直接回答你问题的内容,但可能会给你一些思路来解决问题。
在80年代和90年代,我们有一个信息检索系统,可以处理非常多的固定查询。具体来说,我们的系统当时有64MB的内存(在那个时候这可是个巨大的数字),每天能处理超过一百万条消息,并且对这些消息应用1万到10万多个固定查询。
如果我们只是简单地把每个固定查询逐个应用到最新的文档上,那我们肯定会失败。我们做的是对查询进行一种反转,特别是识别出查询中的必须有和可以有的词。然后,我们利用文档中的词汇列表来找到那些有可能成功的查询。客户学会了创建有明显区分度的查询,因此,有时候只需要完全评估10到20个查询。
我不知道你的数据集是什么样的,也不知道你的规则是什么样的,但你可以尝试一些类似的方法。
1
你可以看看 JENA 以及其他类似的RDF规则引擎,它们是专门用来处理非常大的事实数据库的。