Search in sources :

Example 1 with TextSearchOptions

use of com.mongodb.client.model.TextSearchOptions in project mongo-java-driver by mongodb.

the class QuickTourAdmin method main.

/**
     * Run this main method to see the output of this quick example.
     *
     * @param args takes an optional single argument for the connection string
     */
public static void main(final String[] args) {
    MongoClient mongoClient;
    if (args.length == 0) {
        // connect to the local database server
        mongoClient = new MongoClient();
    } else {
        mongoClient = new MongoClient(new MongoClientURI(args[0]));
    }
    // get handle to "mydb" database
    MongoDatabase database = mongoClient.getDatabase("mydb");
    database.drop();
    // get a handle to the "test" collection
    MongoCollection<Document> collection = database.getCollection("test");
    // drop all the data in it
    collection.drop();
    // getting a list of databases
    for (String name : mongoClient.listDatabaseNames()) {
        System.out.println(name);
    }
    // drop a database
    mongoClient.getDatabase("databaseToBeDropped").drop();
    // create a collection
    database.createCollection("cappedCollection", new CreateCollectionOptions().capped(true).sizeInBytes(0x100000));
    for (String name : database.listCollectionNames()) {
        System.out.println(name);
    }
    // drop a collection:
    collection.drop();
    // create an ascending index on the "i" field
    collection.createIndex(Indexes.ascending("i"));
    // list the indexes on the collection
    for (final Document index : collection.listIndexes()) {
        System.out.println(index.toJson());
    }
    // create a text index on the "content" field
    collection.createIndex(Indexes.text("content"));
    collection.insertOne(new Document("_id", 0).append("content", "textual content"));
    collection.insertOne(new Document("_id", 1).append("content", "additional content"));
    collection.insertOne(new Document("_id", 2).append("content", "irrelevant content"));
    // Find using the text index
    long matchCount = collection.count(text("textual content -irrelevant"));
    System.out.println("Text search matches: " + matchCount);
    // Find using the $language operator
    Bson textSearch = text("textual content -irrelevant", new TextSearchOptions().language("english"));
    matchCount = collection.count(textSearch);
    System.out.println("Text search matches (english): " + matchCount);
    // Find the highest scoring match
    Document projection = new Document("score", new Document("$meta", "textScore"));
    Document myDoc = collection.find(textSearch).projection(projection).first();
    System.out.println("Highest scoring document: " + myDoc.toJson());
    // Run a command
    Document buildInfo = database.runCommand(new Document("buildInfo", 1));
    System.out.println(buildInfo);
    // release resources
    database.drop();
    mongoClient.close();
}
Also used : MongoClient(com.mongodb.MongoClient) MongoClientURI(com.mongodb.MongoClientURI) CreateCollectionOptions(com.mongodb.client.model.CreateCollectionOptions) TextSearchOptions(com.mongodb.client.model.TextSearchOptions) Document(org.bson.Document) MongoDatabase(com.mongodb.client.MongoDatabase) Bson(org.bson.conversions.Bson)

Aggregations

MongoClient (com.mongodb.MongoClient)1 MongoClientURI (com.mongodb.MongoClientURI)1 MongoDatabase (com.mongodb.client.MongoDatabase)1 CreateCollectionOptions (com.mongodb.client.model.CreateCollectionOptions)1 TextSearchOptions (com.mongodb.client.model.TextSearchOptions)1 Document (org.bson.Document)1 Bson (org.bson.conversions.Bson)1