List of usage examples for org.apache.solr.client.solrj.request UpdateRequest setAction
public AbstractUpdateRequest setAction(ACTION action, boolean waitFlush, boolean waitSearcher)
From source file:at.newmedialab.lmf.search.services.indexing.SolrCoreRuntime.java
License:Apache License
/** * Clear the index managed by this SolrCoreRuntime. *///w w w . j a va2 s . c o m public void clear() { serverLock.lock(); try { UpdateRequest request = new UpdateRequest(); request.deleteByQuery("id:[* TO *]"); request.setAction(ACTION.COMMIT, true, true); server.request(request); } catch (IOException e) { log.error("(" + config.getName() + ") could not clear search index: an I/O Exception occurred", e); } catch (SolrServerException e) { log.error( "(" + config.getName() + ") could not clear search index: a SOLR Exception occurred (server not available?)", e); } catch (Exception e) { log.error("(" + config.getName() + ") index could not be cleared: a runtime Exception occurred (server sending invalid response?)", e); } finally { serverLock.unlock(); } }
From source file:com.doculibre.constellio.stats.StatsCompiler.java
License:Open Source License
public synchronized void saveStats(SimpleSearch simpleSearch, SolrServer indexJournal, SolrServer indexCompile, QueryResponse res) throws SolrServerException, IOException { String collectionName = simpleSearch.getCollectionName(); String luceneQuery = simpleSearch.getLuceneQuery(); GregorianCalendar calendar = new GregorianCalendar(); Date time = new Date(); calendar.setTime(time);//from w ww . j a va 2 s . c o m String query = luceneQuery; String escapedQuery = escape(query); long nbRes = res.getResults().getNumFound(); long qTime = res.getQTime(); String desplayDate = time.toString(); String searchDate = format(time); String queryWithParams = simpleSearch.toSimpleParams().toString(); SolrInputDocument doc = new SolrInputDocument(); doc.addField("id", desplayDate + query); doc.addField("query", query); doc.addField("queryWithParams", queryWithParams); doc.addField("nbres", "" + nbRes); doc.addField("qtime", "" + qTime); doc.addField("dateaffiche", desplayDate); doc.addField("date", searchDate); doc.addField("recherche", "recherche"); doc.addField("collection", collectionName); UpdateRequest up = new UpdateRequest(); up.setAction(ACTION.COMMIT, true, true); up.add(doc); up.process(indexJournal); String compileId = "collection_" + collectionName + " id_" + escapedQuery; SolrQuery solrQuery = new SolrQuery(); // Requte Lucene solrQuery.setQuery("id:\"" + compileId + "\""); // nb rsultats par page solrQuery.setRows(15); // page de dbut solrQuery.setStart(0); QueryResponse qr = indexCompile.query(solrQuery); if (qr.getResults().getNumFound() > 0) { SolrDocument sd = qr.getResults().get(0); long freq = (Long) sd.getFieldValue("freq"); long click = (Long) sd.getFieldValue("click"); // indexCompile.deleteById(query); SolrInputDocument docCompile = new SolrInputDocument(); docCompile.addField("id", compileId); docCompile.addField("query", query); if (!((String) sd.getFieldValue("nbres")).equals("0")) { ConstellioSpringUtils.getAutocompleteServices().onQueryAdd(docCompile, query); } docCompile.addField("freq", freq + 1); docCompile.addField("nbres", "" + nbRes); docCompile.addField("recherche", "recherche"); docCompile.addField("collection", collectionName); if (nbRes == 0) { docCompile.addField("zero", "true"); } else { docCompile.addField("zero", "false"); } docCompile.addField("click", click); if (click == 0) { docCompile.addField("clickstr", "zero"); } else { docCompile.addField("clickstr", "notzero"); } up.clear(); up.setAction(ACTION.COMMIT, true, true); up.add(docCompile); up.process(indexCompile); } else { SolrInputDocument docCompile = new SolrInputDocument(); docCompile.addField("id", compileId); docCompile.addField("query", query); if (nbRes != 0) { ConstellioSpringUtils.getAutocompleteServices().onQueryAdd(docCompile, query); } docCompile.addField("freq", 1); docCompile.addField("recherche", "recherche"); docCompile.addField("collection", collectionName); docCompile.addField("nbres", "" + nbRes); if (nbRes == 0) { docCompile.addField("zero", "true"); } else { docCompile.addField("zero", "false"); } docCompile.addField("click", 0); docCompile.addField("clickstr", "zero"); up.clear(); up.setAction(ACTION.COMMIT, true, true); up.add(docCompile); up.process(indexCompile); } }
From source file:com.doculibre.constellio.stats.StatsCompiler.java
License:Open Source License
public synchronized void computeClick(String collectionName, SolrServer indexCompile, SimpleSearch simpleSearch) throws SolrServerException, IOException { String query = simpleSearch.getLuceneQuery(); String escapedQuery = escape(query); String compileId = "collection_" + collectionName + " id_" + escapedQuery; SolrQuery solrQuery = new SolrQuery(); // Requte Lucene solrQuery.setQuery("id:\"" + compileId + "\""); // nb rsultats par page solrQuery.setRows(15);//from ww w . j a v a 2 s.c o m // page de dbut solrQuery.setStart(0); QueryResponse qr = indexCompile.query(solrQuery); if (qr.getResults().getNumFound() > 0) { SolrDocument sd = qr.getResults().get(0); long click = (Long) sd.getFieldValue("click"); indexCompile.deleteById(escapedQuery); SolrInputDocument docCompile = new SolrInputDocument(); docCompile.addField("id", compileId); docCompile.addField("query", query); if (!((String) sd.getFieldValue("nbres")).equals("0")) { ConstellioSpringUtils.getAutocompleteServices().onQueryAdd(docCompile, query); } docCompile.addField("freq", (Long) sd.getFieldValue("freq")); docCompile.addField("recherche", "recherche"); docCompile.addField("zero", (String) sd.getFieldValue("zero")); docCompile.addField("nbres", (String) sd.getFieldValue("nbres")); docCompile.addField("click", (click + 1)); docCompile.addField("clickstr", "notzero"); docCompile.addField("collection", collectionName); UpdateRequest up = new UpdateRequest(); up.setAction(ACTION.COMMIT, true, true); up.add(docCompile); up.process(indexCompile); } }
From source file:com.doculibre.constellio.stats.StatsCompiler.java
License:Open Source License
public synchronized void computeClickUrl(String collectionName, String url, String recordURL, SolrServer indexurl, SimpleSearch simpleSearch) throws SolrServerException, IOException { String query = simpleSearch.getLuceneQuery(); String escapedQuery = escape(query); String compileId = "url_" + url + " collection_" + collectionName + " id_" + escapedQuery; SolrQuery solrQuery = new SolrQuery(); // Requte Lucene solrQuery.setQuery("id:\"" + compileId + "\""); // nb rsultats par page solrQuery.setRows(15);//from w ww.ja v a 2s .c o m // page de dbut solrQuery.setStart(0); QueryResponse qr = indexurl.query(solrQuery); if (qr.getResults().getNumFound() > 0) { SolrDocument sd = qr.getResults().get(0); long nbClick = (Long) sd.getFieldValue("nbclick"); SolrInputDocument doc = new SolrInputDocument(); doc.addField("id", compileId); doc.addField("query", escapedQuery); doc.addField("url", url); doc.addField("nbclick", nbClick + 1); doc.addField("recordURL", recordURL); doc.addField("collectionName", collectionName); UpdateRequest up = new UpdateRequest(); up.setAction(ACTION.COMMIT, true, true); up.add(doc); up.process(indexurl); } else { SolrInputDocument doc = new SolrInputDocument(); doc.addField("id", compileId); doc.addField("query", escapedQuery); doc.addField("url", url); doc.addField("nbclick", 0); doc.addField("recordURL", recordURL); doc.addField("collectionName", collectionName); UpdateRequest up = new UpdateRequest(); up.setAction(ACTION.COMMIT, true, true); up.add(doc); up.process(indexurl); } }
From source file:com.thinkaurelius.titan.diskstorage.solr.Solr5Index.java
License:Apache License
private UpdateRequest newUpdateRequest() { UpdateRequest req = new UpdateRequest(); req.setAction(UpdateRequest.ACTION.COMMIT, true, true); if (waitSearcher) { req.setAction(UpdateRequest.ACTION.COMMIT, true, true); }/*ww w .java 2 s . co m*/ return req; }
From source file:de.bitocean.mm.importer.GMailLoader.java
License:Apache License
private static void importMailsFromFolder(Folder f, String label) throws MessagingException, LoginException, IOException, SolrServerException { System.out.println("**** Import an email folder *** \n" + f.getFullName()); f.open(Folder.READ_ONLY);/* w ww. ja v a2s .co m*/ Message[] m2 = f.getMessages(); for (Message m : m2) { System.out.println("[[Mail Label:" + f.getFullName() + "]] \n# Subject: > " + m.getSubject()); UUID uid = UUID.randomUUID(); System.out.println("# UUID: > " + uid.toString()); SolrInputDocument document = new SolrInputDocument(); document.addField("id", uid.toString()); document.addField("tag", m.getSubject()); String cont = handleContent(document, m); document.addField("answer", cont); document.addField("question", m.getSubject()); document.addField("type", "raw.email"); document.addField("context", label); String author = "MAILIMPORT"; Address[] from = m.getFrom(); if (from != null) { author = ""; for (Address a : from) { author = author.concat(", " + a.toString()); } } document.addField("author", author); Date d = m.getReceivedDate(); DateFormat dfmt1 = new SimpleDateFormat("yyyy-MM-dd"); DateFormat dfmt2 = new SimpleDateFormat("hh:mm:ss"); document.addField("timeasked", dfmt1.format(d) + "T" + dfmt2.format(d) + "Z"); UpdateRequest add = new UpdateRequest(); add.add(document); add.setParam("collection", collection); add.process(solr); } UpdateRequest commit = new UpdateRequest(); commit.setAction(UpdateRequest.ACTION.COMMIT, true, true); commit.setParam("collection", collection); commit.process(solr); }
From source file:fr.xebia.cocktail.CocktailRepository.java
License:Apache License
public void insert(Cocktail cocktail) { Preconditions.checkArgument(cocktail.getObjectId() == null, "Given objectId must be null in %s", cocktail); try {//from w w w.j a v a2 s. c om cocktail.setObjectId(ObjectId.get()); // SOLR SolrInputDocument solrInputDocument = toSolrInputDocument(cocktail); UpdateRequest req = new UpdateRequest(); req.setAction(org.apache.solr.client.solrj.request.AbstractUpdateRequest.ACTION.COMMIT, false, false); req.add(solrInputDocument); UpdateResponse solrResponse = req.process(solrServer); logger.trace("solr.add for {}: {}", cocktail, solrResponse); // MONGODB DBObject bson = COCKTAIL_TO_BSON.apply(cocktail); WriteResult mongoResult = cocktails.insert(bson, WriteConcern.SAFE); logger.trace("mongo.insert for {}: {}", cocktail, mongoResult); } catch (Exception e) { throw new RuntimeException("Exception updating " + cocktail, e); } }
From source file:fr.xebia.cocktail.CocktailRepository.java
License:Apache License
public void update(Cocktail cocktail) { Preconditions.checkNotNull(cocktail.getObjectId(), "Given objectId must not be null in %s", cocktail); try {/*www . j av a 2s . com*/ // SOLR SolrInputDocument solrInputDocument = toSolrInputDocument(cocktail); UpdateRequest req = new UpdateRequest(); req.setAction(org.apache.solr.client.solrj.request.AbstractUpdateRequest.ACTION.COMMIT, false, false); req.add(solrInputDocument); UpdateResponse solrResponse = req.process(solrServer); logger.trace("solr.add for {}: {}", cocktail, solrResponse); // MONGODB DBObject root = CocktailRepository.COCKTAIL_TO_BSON.apply(cocktail); WriteResult mongoResult = cocktails.save(root, WriteConcern.SAFE); logger.trace("mongo.save for {}: {}", cocktail, mongoResult); } catch (Exception e) { throw new RuntimeException("Exception updating " + cocktail, e); } }
From source file:jp.aegif.nemaki.tracker.CoreTracker.java
License:Open Source License
/** * Build an update request to Solr without file * * @param content//from w ww . j a va2 s . c o m * @return */ // TODO Unify that of Registration class private AbstractUpdateRequest buildUpdateRequest(Map<String, Object> map) { logger.info("Start buildUpdateRequest"); UpdateRequest up = new UpdateRequest(); SolrInputDocument sid = new SolrInputDocument(); // Set SolrDocument parameters Iterator<String> iterator = map.keySet().iterator(); while (iterator.hasNext()) { String key = iterator.next(); sid.addField(key, map.get(key)); } // Set UpdateRequest up.add(sid); // Ignored(for schema.xml, ignoring some SolrCell meta fields) up.setParam(UNKNOWN_FIELD_PREFIX, "ignored_"); // Set Solr action parameter up.setAction(AbstractUpdateRequest.ACTION.COMMIT, true, true); logger.info(up.toString()); return up; }
From source file:org.apache.beam.sdk.io.solr.SolrIOTestUtils.java
License:Apache License
/** Inserts the given number of test documents into Solr. */ static void insertTestDocuments(String collection, long numDocs, AuthorizedSolrClient client) throws IOException { List<SolrInputDocument> data = createDocuments(numDocs); try {/*from w w w. j a va2 s .c om*/ UpdateRequest updateRequest = new UpdateRequest(); updateRequest.setAction(UpdateRequest.ACTION.COMMIT, true, true); updateRequest.add(data); client.process(collection, updateRequest); } catch (SolrServerException e) { throw new IOException("Failed to insert test documents to collection", e); } }