【问题标题】:MongoDB 3, java driver , full text search, how to?MongoDB 3,java驱动,全文搜索,怎么做?
【发布时间】:2016-05-20 21:21:10
【问题描述】:

您可以在mongodb 2中看到如何使用java驱动程序使用全文搜索

how to use java driver with mongodb 2, full text search

但是在 mongodb 3 中这不起作用,有人知道如何使用 java driver/mongodb 3 进行全文搜索吗?

【问题讨论】:

  • 谁在投票反对?我遇到了同样的问题,这个问题对我很有帮助。如果您认为该问题需要改进,请提出修改意见或发表评论。

标签: java mongodb mongo-java-driver nosql


【解决方案1】:

如果你有索引,这只是工作,在与 find 集成的 mongodb 3 全文搜索中。

public List<ArticleData> doAdvancedSearch(String searchString) {
        List<ArticleData> list = new ArrayList<>();

        DBCursor cursor = collection.find(new BasicDBObject("$text", new BasicDBObject("$search", searchString)));
        while (cursor.hasNext()) {
            DBObject document = cursor.next();
            ArticleData data = new ArticleData();
            data.setContent((String) document.get("content"));
            data.setTitle((String) document.get("title"));
            list.add(data);
        }

        return list;
    }

【讨论】:

    【解决方案2】:

    这对我来说又不一样了。

    List<Document> list = new ArrayList<>();
    FindIterable<Document> iter = collection.find(new BasicDBObject("$text", new BasicDBObject("$search", query)));
    
    for (Document d : iter) {
        list.add(d);
    }
    
    return list;
    

    我正在使用

    <dependency>
        <groupId>org.mongodb</groupId>
        <artifactId>mongodb-driver</artifactId>
        <version>3.2.2</version>
    </dependency>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-01
      • 2017-04-16
      • 2018-10-26
      • 1970-01-01
      • 2023-03-28
      相关资源
      最近更新 更多