Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void createAndInsertInverseIndex() {
- MongoCollection<Document> collection = database.getCollection(indexName);
- MongoCollection<Document> inverseIndexcollection = database.getCollection(inverseIndexName);
- try (MongoCursor<Document> cur = collection.find().iterator()) {
- while (cur.hasNext()) {
- Document doc = cur.next();
- String docName = doc.getString("docID");
- List<Document> idxEntries = (List<Document>) doc.get("wordsList");
- BasicDBObject basic = new BasicDBObject();
- BasicDBObject basic1 = new BasicDBObject();
- BasicDBObject basic2 = new BasicDBObject();
- List<String> docsList;
- //System.out.println(docName);
- for(int i=0;i<idxEntries.size();i++)
- {
- basic1.append("wordID",idxEntries.get(i).getString("word"));
- // MongoCursor<Document> cursor = inverseIndexcollection.find(basic1).first();
- if ( inverseIndexcollection.find(basic1).first()== null)
- {
- //System.out.println("insert ");
- docsList = new ArrayList<String>();
- docsList.add(docName);
- Document document = new Document( basic1.append("docsList", docsList));
- inverseIndexcollection.insertOne(document);
- docsList.clear();
- document.clear();
- }
- else
- {
- //System.out.println("update ");
- basic.append("docsList", docName);
- basic2.append("$addToSet", basic);
- inverseIndexcollection.updateOne(basic1,basic2);
- basic.clear();basic2.clear();
- }
- basic1.clear();
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement