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

302 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 answers

2
cjungel 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
vefthym 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
AR1 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.