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

342 Views Asked by At

I'm using cloudant which I could use mapreduce to project view of data and also it could search document with lucene

But these 2 feature is separate and cannot be used together

Suppose I make a game with userdata like this

{
    name: ""
    items:[]        
}

Each user has item. Then I want to let user find all swords with quality +10. With cloudant I might project type and quality as key and use query key=["sword",10]

But it cannot make query more complex than that like lucene could do. To do lucene I need to normalize all items to be document and reference it with owner

I really wish I could do a lucene search on a key of data projection. I mean, instead of normalization, I could store nested document as I want and use map/reduce to project data inside document so I could search for items directly

PS. If that database has partial update by scripting and inherently has transaction update feature that would be the best

3

There are 3 best solutions below

2
On BEST ANSWER

I'd suggest trying out elasticsearch.

Seems like your use case should be covered by the search api

If you need to do more complex analytics elasticsearch supports aggregations.

0
On

I am not at all sure that I got the question correctly, but you may want to take a look at riak. It offers a solr-based search, which is quite well documented. I have used it in the past for distributed search over a distributed key-value index and it was quite fast.

If you use this, you will also need to take a look at the syntax of solr queries, so I add it here to save you some time. However, keep in mind that not all of those solr query functionalities were available in riak (at least that was when I used it).

1
On

There are several solutions that would do the job. I can give my 2 cents proposing the well established MongoDB. With MongoDB you can create a text-Index on a given field and then do a full text Search as explained here. The feature is in MongoDb since version 2.4 and the syntax is well documented on MongoDB docs.