How to execute full text search command in MongoDB

2019-02-13 15:30发布

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 }

1条回答
祖国的老花朵
2楼-- · 2019-02-13 15:53

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.

查看更多
登录 后发表回答