Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to execute full text search command in MongoDB with Java Driver ?

Mongo and Java gurus. Our team decided to use full text search API, introduced recently in MongoDB. However, we found some difficulties executing the command using the Java MongoDB driver.

here is my code I am using :

public BasicDBObject find(String search) {
    BasicDBObject searchCommand = new BasicDBObject();

        searchCommand.put("text", new BasicDBObject().append("search", search));

        CommandResult commandResult = db.command(searchCommand);
}

This is what I get when I print

 System.out.println(commandResult) 

{ "serverUsed" : "/127.0.0.1:27017" , "errmsg" : "exception: wrong type for field (text) 3 != 2" , "code" : 13111 , "ok" : 0.0 }
like image 507
Adelin Avatar asked Apr 08 '13 12:04

Adelin


1 Answers

Taken from a post on the Google group ( https://groups.google.com/forum/?fromgroups#!topic/mongodb-user/7jWUbunUcFQ ):

    final DBObject textSearchCommand = new BasicDBObject();
    textSearchCommand.put("text", collectionName);
    textSearchCommand.put("search", textToSearchFor);
    final CommandResult commandResult = db.command(textSearchCommand);

Shows exactly how to format the command.

like image 137
Sammaye Avatar answered Sep 30 '22 18:09

Sammaye