List of usage examples for org.apache.solr.client.solrj SolrQuery addField
public SolrQuery addField(String field)
From source file:cz.incad.vdkcommon.solr.Indexer.java
License:Open Source License
public void removeAllWanted() throws Exception { SolrQuery query = new SolrQuery("chci:[* TO *]"); query.addField("code"); SolrDocumentList docs = IndexerQuery.query(query); long numFound = docs.getNumFound(); Iterator<SolrDocument> iter = docs.iterator(); while (iter.hasNext()) { if (jobData.isInterrupted()) { LOGGER.log(Level.INFO, "INDEXER INTERRUPTED"); break; }//from w ww .j a v a 2s . c o m StringBuilder sb = new StringBuilder(); SolrDocument resultDoc = iter.next(); String docCode = (String) resultDoc.getFieldValue("code"); sb.append("<add><doc>"); sb.append("<field name=\"code\">").append(docCode).append("</field>"); sb.append("<field name=\"md5\">").append(docCode).append("</field>"); sb.append("<field name=\"chci\" update=\"set\" null=\"true\" />"); sb.append("</doc></add>"); SolrIndexerCommiter.postData(sb.toString()); SolrIndexerCommiter.postData("<commit/>"); } query.setQuery("nechci:[* TO *]"); query.addField("code"); docs = IndexerQuery.query(query); iter = docs.iterator(); while (iter.hasNext()) { if (jobData.isInterrupted()) { LOGGER.log(Level.INFO, "INDEXER INTERRUPTED"); break; } StringBuilder sb = new StringBuilder(); SolrDocument resultDoc = iter.next(); String docCode = (String) resultDoc.getFieldValue("code"); sb.append("<add><doc>"); sb.append("<field name=\"code\">").append(docCode).append("</field>"); sb.append("<field name=\"md5\">").append(docCode).append("</field>"); sb.append("<field name=\"nechci\" update=\"set\" null=\"true\" />"); sb.append("</doc></add>"); SolrIndexerCommiter.postData(sb.toString()); SolrIndexerCommiter.postData("<commit/>"); } numFound += docs.getNumFound(); if (numFound > 0 && !jobData.isInterrupted()) { removeAllWanted(); } }
From source file:cz.incad.vdkcommon.solr.Indexer.java
License:Open Source License
public void removeAllOffers() throws Exception { SolrQuery query = new SolrQuery("nabidka:[* TO *]"); query.addField("code"); SolrDocumentList docs = IndexerQuery.query(query); Iterator<SolrDocument> iter = docs.iterator(); while (iter.hasNext()) { if (jobData.isInterrupted()) { LOGGER.log(Level.INFO, "INDEXER INTERRUPTED"); break; }//from ww w . j a v a 2s.c o m StringBuilder sb = new StringBuilder(); SolrDocument resultDoc = iter.next(); String docCode = (String) resultDoc.getFieldValue("code"); sb.append("<add><doc>"); sb.append("<field name=\"code\">").append(docCode).append("</field>"); sb.append("<field name=\"md5\">").append(docCode).append("</field>"); sb.append("<field name=\"nabidka\" update=\"set\" null=\"true\" />"); sb.append("<field name=\"nabidka_ext\" update=\"set\" null=\"true\" />"); sb.append("<field name=\"nabidka_datum\" update=\"set\" null=\"true\" />"); sb.append("</doc></add>"); SolrIndexerCommiter.postData(sb.toString()); SolrIndexerCommiter.postData("<commit/>"); } long numFound = docs.getNumFound(); if (numFound > 0 && !jobData.isInterrupted()) { removeAllOffers(); } }
From source file:cz.incad.vdkcommon.solr.Indexer.java
License:Open Source License
public void removeAllDemands() throws Exception { SolrQuery query = new SolrQuery("poptavka:[* TO *]"); query.addField("code"); query.setRows(1000);/* w w w . ja va2 s. c o m*/ SolrDocumentList docs = IndexerQuery.query(query); long numFound = docs.getNumFound(); Iterator<SolrDocument> iter = docs.iterator(); while (iter.hasNext()) { if (jobData.isInterrupted()) { LOGGER.log(Level.INFO, "INDEXER INTERRUPTED"); break; } StringBuilder sb = new StringBuilder(); SolrDocument resultDoc = iter.next(); String docCode = (String) resultDoc.getFieldValue("code"); sb.append("<add><doc>"); sb.append("<field name=\"code\">").append(docCode).append("</field>"); sb.append("<field name=\"md5\">").append(docCode).append("</field>"); sb.append("<field name=\"poptavka\" update=\"set\" null=\"true\" />"); sb.append("<field name=\"poptavka_ext\" update=\"set\" null=\"true\" />"); sb.append("</doc></add>"); SolrIndexerCommiter.postData(sb.toString()); SolrIndexerCommiter.postData("<commit/>"); LOGGER.log(Level.INFO, "Demands for {0} removed.", docCode); } if (numFound > 0 && !jobData.isInterrupted()) { removeAllDemands(); } }
From source file:cz.incad.vdkcommon.solr.Indexer.java
License:Open Source License
public void reindexDocByIdentifier(String identifier) throws Exception { LOGGER.log(Level.INFO, "----- Reindexing doc {0} ...", identifier); SolrQuery query = new SolrQuery("id:\"" + identifier + "\""); query.addField("id,code"); query.setRows(1000);/*from w w w . j a v a 2 s .co m*/ SolrDocumentList docs = IndexerQuery.query(opts.getString("solrIdCore", "vdk_id"), query); Iterator<SolrDocument> iter = docs.iterator(); while (iter.hasNext()) { SolrDocument resultDoc = iter.next(); String uniqueCode = (String) resultDoc.getFieldValue("code"); reindexDoc(uniqueCode, identifier); } }
From source file:cz.incad.vdkcommon.solr.Indexer.java
License:Open Source License
public void reindexDoc(String uniqueCode, String identifier) throws Exception { SolrQuery query = new SolrQuery("id:\"" + identifier + "\""); query.addField("id,code"); query.setRows(1000);/* w w w . j a v a 2 s.com*/ SolrDocumentList docs = IndexerQuery.query(query); Iterator<SolrDocument> iter = docs.iterator(); if (iter.hasNext()) { SolrDocument resultDoc = iter.next(); String oldUniqueCode = (String) resultDoc.getFieldValue("code"); if (oldUniqueCode != null && !oldUniqueCode.equals(uniqueCode)) { LOGGER.log(Level.INFO, "Cleaning doc {0} from index...", oldUniqueCode); String s = "<delete><query>code:" + oldUniqueCode + "</query></delete>"; SolrIndexerCommiter.postData(s); indexDoc(oldUniqueCode); } } LOGGER.log(Level.INFO, "Cleaning doc {0} from index...", uniqueCode); String s = "<delete><query>code:" + uniqueCode + "</query></delete>"; SolrIndexerCommiter.postData(s); indexDoc(uniqueCode); }
From source file:cz.incad.vdkcommon.solr.Indexer.java
License:Open Source License
public void indexDoc(String uniqueCode) throws Exception { try {/*from ww w . ja v a 2 s. co m*/ LOGGER.log(Level.FINE, "Indexace doc {0}...", uniqueCode); StringBuilder sb = new StringBuilder(); sb.append("<add><doc>"); sb.append("<field name=\"code\">").append(uniqueCode).append("</field>"); sb.append(""); SolrQuery query = new SolrQuery("code:\"" + uniqueCode + "\""); query.addField("id,code,code_type,xml,bohemika,zdroj"); query.setRows(1000); SolrDocumentList docs = IndexerQuery.query(opts.getString("solrIdCore", "vdk_id"), query); Iterator<SolrDocument> iter = docs.iterator(); String codeType = ""; String md5 = ""; boolean bohemika = false; int docsNum = 0; while (iter.hasNext()) { if (jobData.isInterrupted()) { LOGGER.log(Level.INFO, "INDEXER INTERRUPTED"); break; } SolrDocument resultDoc = iter.next(); if (resultDoc.getFieldValue("bohemika") != null) { bohemika = (Boolean) resultDoc.getFieldValue("bohemika"); } else { bohemika = Bohemika.isBohemika((String) resultDoc.getFieldValue("xml")); } codeType = (String) resultDoc.getFieldValue("code_type"); sb.append(transformXML((String) resultDoc.getFieldValue("xml"), uniqueCode, (String) resultDoc.getFieldValue("code_type"), (String) resultDoc.getFieldValue("id"), bohemika, (String) resultDoc.getFieldValue("zdroj"))); sb.append(getDocOffers(uniqueCode)); docsNum++; total++; } sb.append("<field name=\"code_type\">").append(codeType).append("</field>"); sb.append("<field name=\"md5\">").append(md5).append("</field>"); sb.append("<field name=\"bohemika\">").append(bohemika).append("</field>"); sb.append("<field name=\"pocet_doc\">").append(docsNum).append("</field>"); sb.append("</doc></add>"); SolrIndexerCommiter.postData(sb.toString()); //removeDocOffers(uniqueCode); //indexDocOffers(uniqueCode); //SolrIndexerCommiter.postData("<commit/>"); //logger.log(Level.INFO, "Doc indexed. Total docs: {0}", total); } catch (Exception ex) { LOGGER.log(Level.SEVERE, "Error in reindex", ex); } }
From source file:cz.incad.vdkcommon.solr.Indexer.java
License:Open Source License
private boolean isInDemandsCache(String code) { if (demandsCache == null) { try {/*w w w . jav a 2s . co m*/ SolrQuery query = new SolrQuery("poptavka_ext:[* TO *]"); query.addField("id,code,poptavka_ext,title"); query.setRows(1000); demandsCache = new HashMap<>(); SolrDocumentList docs = IndexerQuery.query(query); Iterator<SolrDocument> iter = docs.iterator(); while (iter.hasNext()) { SolrDocument doc = iter.next(); demandsCache.put((String) doc.getFieldValue("code"), doc); } } catch (SolrServerException | IOException ex) { LOGGER.log(Level.SEVERE, null, ex); } } return demandsCache.containsKey(code); }
From source file:cz.incad.vdkcommon.solr.Indexer.java
License:Open Source License
public void run() throws Exception { readStatus();/*ww w. j a v a2 s . c om*/ if (jobData.getBoolean("full_index", false)) { reindex(); } else { if (statusJson.has(LAST_UPDATE)) { update(statusJson.getString(LAST_UPDATE)); } else { update(null); } if (jobData.getBoolean("reindex_offers", false)) { removeAllOffers(); indexAllOffers(); } if (jobData.getBoolean("reindex_demands", false)) { removeAllDemands(); indexAllDemands(); } if (jobData.getBoolean("reindex_wanted", false)) { removeAllWanted(); indexAllWanted(); } if (!"".equals(jobData.getString("identifier", ""))) { LOGGER.log(Level.INFO, "----- Reindexing doc {0} ...", jobData.getString("identifier")); SolrQuery query = new SolrQuery("id:\"" + jobData.getString("identifier") + "\""); query.addField("id,code"); query.setRows(1000); SolrDocumentList docs = IndexerQuery.query(opts.getString("solrIdCore", "vdk_id"), query); Iterator<SolrDocument> iter = docs.iterator(); while (iter.hasNext()) { SolrDocument resultDoc = iter.next(); String uniqueCode = (String) resultDoc.getFieldValue("code"); reindexDoc(uniqueCode, jobData.getString("identifier")); } } } writeStatus(); }
From source file:de.dlr.knowledgefinder.webapp.webservice.solr.query.AbstractSolrQueryFactory.java
License:Apache License
private SolrQuery createSolrQueryWithQueryString(String query) { SolrQuery solrQuery = new SolrQuery(); String appendQuery = getAppendQuery().trim(); String qValue = query;// w ww . jav a 2 s. c o m if (appendQuery != "" && !appendQuery.equals(qValue)) { qValue = appendQuery + " AND " + qValue; } solrQuery.setQuery(qValue); solrQuery.addField(null); return solrQuery; }
From source file:de.dlr.knowledgefinder.webapp.webservice.solr.query.AbstractSolrQueryFactory.java
License:Apache License
private void tryToAddGivenFieldsToSolrQuery(SolrQuery solrQuery, List<String> fieldList) { List<String> allowedFields = Arrays.asList(getAllowedFields()); for (String f : fieldList) { f = f.trim();/*ww w. j a va 2 s. com*/ if (allowedFields.contains(f)) { solrQuery.addField(f); } } }