使用自定义倒排索引的文档数据库...或Lucene + Solr?

时间:2015-03-10 17:12:29

标签: mongodb indexing solr lucene

是否有允许我创建自定义倒排索引的数据库?对于我的应用程序,我有很多文档,我需要允许用户为文档提供标记,同时自动系统正在进行命名实体识别并为文档添加更多标记。现在,我想用这些标签进行最简单的搜索。也就是说,我给数据库提供了一组标签,它返回的文件索引的标签数量最多。我知道Lucene能够做到这一点,但我觉得它有点矫枉过正,因为它的相关性功能还有很多其他东西(比如倒置文档的频率和其他东西),而且它的索引功能太复杂了。我在想像MongoDB,我可以插入一个文档,然后,在这个自定义索引中,我可以添加文档的所有标记。根据我的研究,这是不可能的。

你知道一个允许这个的数据库,或者如何调整Lucene做这样的事情?

1 个答案:

答案 0 :(得分:1)

如果这只是关于标签,你最有可能使用标准关系数据库,多对多关系(文档 - >映射 - >标签)和分组 / 查询排序。 PostgreSQL,而不是MongoDB。

但是,如果您认为您的要求会增长而且总是如此,那么您可以从使用Solr中受益。然后,您将获得分面和全文搜索,并在多个字段中免费搜索。

使用Solr而不是Lucene,因为您可以使用现有的UpdateRequestProcessors并在那里连接您的命名实体识别。