是否有任何 nosql 数据库可以在 map/reduce 上进行搜索(如 lucene)

Are there any nosql database could do search(like lucene) on map/reduce

我正在使用 cloudant,我可以使用 mapreduce 来投影数据视图,还可以使用 lucene 搜索文档

但这两个功能是分开的,不能一起使用

假设我用这样的用户数据制作游戏

{
    name: ""
    items:[]        
}

每个用户都有项目。然后我想让用户找到所有质量 +10 的剑。使用 cloudant,我可能会将类型和质量作为关键,并使用查询 key=["sword",10]

但它不能使查询比lucene 更复杂。要执行 lucene,我需要将所有项目规范化为文档,并用 owner

引用它

我真希望我能在数据投影的关键上进行lucene搜索。我的意思是,我可以根据需要存储嵌套文档,而不是规范化,并使用 map/reduce 将数据投影到文档中,这样我就可以直接搜索项目

PS。如果该数据库通过脚本进行部分更新并且固有地具有事务更新功能,那将是最好的

我不确定我是否答对了问题,但您可能想看一下 riak. It offers a solr-based search, which is quite well documented。我过去曾用它对分布式键值索引进行分布式搜索,速度非常快。

如果你使用这个,你还需要看看syntax of solr queries,所以我在这里添加它以节省你一些时间。但是,请记住,并非所有这些 solr 查询功能在 riak 中都可用(至少我使用它时是这样)。

有几种解决方案可以完成这项工作。我可以给我的 2 美分提议完善 MongoDB。使用 MongoDB,您可以在给定字段上创建文本索引,然后按照 here 的说明进行全文搜索。该功能自 2.4 版起在 MongoDb 中,语法在 MongoDB 文档中有详细记录。

我建议尝试 elasticsearch

似乎您的用例应该包含在 search api

如果您需要进行更复杂的分析,elasticsearch 支持 aggregations