本文整理汇总了Java中org.apache.solr.client.solrj.request.UpdateRequest.setAction方法的典型用法代码示例。如果您正苦于以下问题:Java UpdateRequest.setAction方法的具体用法?Java UpdateRequest.setAction怎么用?Java UpdateRequest.setAction使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.solr.client.solrj.request.UpdateRequest
的用法示例。
在下文中一共展示了UpdateRequest.setAction方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: indexAndCommitOneDocument
import org.apache.solr.client.solrj.request.UpdateRequest; //导入方法依赖的package包/类
/**
* Indexiert das übergebene Dokument und übernimmt die Änderungen in den Solr-Index
* durch das Ausführen eines Commits.
*
* @param gutenbergDoc das zu indexierende Dokument
*/
public void indexAndCommitOneDocument(GutenbergDoc gutenbergDoc) {
SolrInputDocument document = buildSolrDoc(gutenbergDoc);
UpdateRequest updateRequest = new UpdateRequest();
updateRequest.setBasicAuthCredentials(USERNAME, PASSWORD);
updateRequest.add(document);
updateRequest.setAction(AbstractUpdateRequest.ACTION.COMMIT, false, false);
try {
updateRequest.process(solrClient);
System.out.println("Dokument " + gutenbergDoc.getDocId() + " erfolgreich indexiert!");
}
catch (SolrServerException|IOException e) {
System.err.println("Fehler bei der Indexierung des Dokuments " + gutenbergDoc.getDocId() + ": " + e.getMessage());
updateRequest.rollback();
}
}
示例2: indexDocumentsAndCommit
import org.apache.solr.client.solrj.request.UpdateRequest; //导入方法依赖的package包/类
/**
* Indexiert die übergebene Liste von Dokumenten und führt am Ende ein Commit durch.
*
* Tritt während der Indexierung ein Fehler auf, so werden die Änderungen nicht
* zurückgenommen, die bereits erfolgreich in den Solr-Index geschrieben werden konnten.
*
* @param gutenbergDocs die Liste der zu indexierenden Dokumente
*/
public void indexDocumentsAndCommit(List<GutenbergDoc> gutenbergDocs) {
UpdateRequest updateRequest = new UpdateRequest();
updateRequest.setBasicAuthCredentials(USERNAME, PASSWORD);
for (GutenbergDoc gutenbergDoc : gutenbergDocs) {
SolrInputDocument solrInputDocument = buildSolrDoc(gutenbergDoc);
if (gutenbergDoc.getDocId().equals("9")) {
// füge zu Dokument 9 ein Feld hinzu, dass es nicht im Solr-Schema gibt
solrInputDocument.addField("foo", "bar");
}
updateRequest.add(solrInputDocument);
}
updateRequest.setAction(AbstractUpdateRequest.ACTION.COMMIT, false, false);
try {
updateRequest.process(solrClient);
System.out.println(gutenbergDocs.size() + " Dokumente erfolgreich indexiert!");
}
catch (SolrServerException|IOException e) {
System.err.println("Fehler bei der Indexierung der Dokumente: " + e.getMessage());
updateRequest.rollback();
}
}
示例3: indexAndCommitDocuments
import org.apache.solr.client.solrj.request.UpdateRequest; //导入方法依赖的package包/类
/**
* Indexiert die übergebene Liste von Dokumenten und führt nach jedem Dokument einen Commit durch.
*
* Tritt während der Indexierung eines Dokuments ein Fehler auf, so gehen die zuvor bereits
* erfolgreich indexierten Dokumente nicht verloren.
*
* @param gutenbergDocs die Liste der zu indexierenden Dokumente
*/
public void indexAndCommitDocuments(List<GutenbergDoc> gutenbergDocs) {
for (GutenbergDoc gutenbergDoc : gutenbergDocs) {
UpdateRequest updateRequest = new UpdateRequest();
updateRequest.setBasicAuthCredentials(USERNAME, PASSWORD);
SolrInputDocument solrInputDocument = buildSolrDoc(gutenbergDoc);
if (gutenbergDoc.getDocId().equals("9")) {
// füge zu Dokument 9 ein Feld hinzu, dass es nicht im Solr-Schema gibt
solrInputDocument.addField("foo", "bar");
}
updateRequest.add(solrInputDocument);
updateRequest.setAction(AbstractUpdateRequest.ACTION.COMMIT, false, false);
try {
updateRequest.process(solrClient);
System.out.println("Dokument " + gutenbergDoc.getDocId() + " erfolgreich indexiert!");
}
catch (SolrServerException|IOException e) {
System.err.println("Fehler bei der Indexierung der Dokumente: " + e.getMessage());
updateRequest.rollback();
}
}
}
示例4: indexAndCommitOneDocument
import org.apache.solr.client.solrj.request.UpdateRequest; //导入方法依赖的package包/类
/**
* Indexiert das übergebene Gutenberg-Dokument und übernimmt die Änderungen in den Solr-Index
* durch das Ausführen eines Commits.
*
* @param gutenbergDoc das zu indexierende Dokument
*/
private void indexAndCommitOneDocument(GutenbergDoc gutenbergDoc) {
SolrInputDocument document = buildSolrDoc(gutenbergDoc);
UpdateRequest updateRequest = new UpdateRequest();
updateRequest.setBasicAuthCredentials(Configuration.USERNAME, Configuration.PASSWORD);
updateRequest.add(document);
updateRequest.setAction(AbstractUpdateRequest.ACTION.COMMIT, false, false);
try {
updateRequest.process(solrClient);
System.out.println("Dokument " + gutenbergDoc.getDocId() + " erfolgreich indexiert!");
}
catch (SolrServerException|IOException e) {
System.err.println("Fehler bei der Indexierung des Dokuments " + gutenbergDoc.getDocId() + ": " + e.getMessage());
updateRequest.rollback();
}
}
示例5: testChineseDefaults
import org.apache.solr.client.solrj.request.UpdateRequest; //导入方法依赖的package包/类
@Test
public void testChineseDefaults() throws Exception {
SolrServer server = getSolrServer();
// Empty the database...
server.deleteByQuery( "*:*" );// delete everything!
server.commit();
assertNumFound( "*:*", 0 ); // make sure it got in
// Beijing medical University
UpdateRequest req = new UpdateRequest();
SolrInputDocument doc = new SolrInputDocument();
doc.addField("id", "42");
doc.addField("text", "北京医科大学");
req.add(doc);
req.setAction(ACTION.COMMIT, true, true );
req.process( server );
// Beijing university should match:
SolrQuery query = new SolrQuery("北京大学");
QueryResponse rsp = server.query( query );
assertEquals(1, rsp.getResults().getNumFound());
}
示例6: softCommit
import org.apache.solr.client.solrj.request.UpdateRequest; //导入方法依赖的package包/类
static UpdateResponse softCommit(String url) throws SolrServerException, IOException {
HttpSolrServer server = null;
try {
server = new HttpSolrServer(url);
server.setConnectionTimeout(30000);
server.setSoTimeout(120000);
UpdateRequest ureq = new UpdateRequest();
ureq.setParams(new ModifiableSolrParams());
ureq.setAction(AbstractUpdateRequest.ACTION.COMMIT, false, true, true);
return ureq.process(server);
} finally {
if (server != null) {
server.shutdown();
}
}
}
示例7: optimizeIndex
import org.apache.solr.client.solrj.request.UpdateRequest; //导入方法依赖的package包/类
/**
* Stößt die Optimierung des Solr-Index an.
*/
public void optimizeIndex() {
UpdateRequest updateRequest = new UpdateRequest();
updateRequest.setBasicAuthCredentials(USERNAME, PASSWORD);
updateRequest.setAction(AbstractUpdateRequest.ACTION.OPTIMIZE, false, false);
try {
updateRequest.process(solrClient);
System.out.println("Index erfolgreich optimiert!");
} catch (SolrServerException|IOException e) {
System.err.println("Fehler beim Index-Optimize: " + e.getMessage());
}
}
示例8: deleteDocById
import org.apache.solr.client.solrj.request.UpdateRequest; //导入方法依赖的package包/类
/**
* Löscht das Dokument mit der übergebene ID aus dem Solr-Index.
*
* @param id die ID des zu löschenden Dokuments
*/
public void deleteDocById(String id) {
UpdateRequest updateRequest = new UpdateRequest();
updateRequest.setBasicAuthCredentials(USERNAME, PASSWORD);
updateRequest.deleteById(id);
updateRequest.setAction(AbstractUpdateRequest.ACTION.COMMIT, false, false);
try {
updateRequest.process(solrClient);
System.out.println("Dokument mit ID " + id + " erfolgreich gelöscht!");
} catch (SolrServerException|IOException e) {
System.err.println("Fehler beim Löschen des Dokuments " + id + ": " + e.getMessage());
}
}
示例9: deleteAllDocs
import org.apache.solr.client.solrj.request.UpdateRequest; //导入方法依赖的package包/类
/**
* Entfernt alle Dokumente aus dem Solr-Index.
*/
public void deleteAllDocs() {
UpdateRequest updateRequest = new UpdateRequest();
updateRequest.setBasicAuthCredentials(USERNAME, PASSWORD);
updateRequest.deleteByQuery("*:*");
updateRequest.setAction(AbstractUpdateRequest.ACTION.COMMIT, false, false);
try {
updateRequest.process(solrClient);
System.out.println("Alle Dokumente erfolgreich gelöscht!");
} catch (SolrServerException|IOException e) {
System.err.println("Fehler beim Löschen aller Dokumente: " + e.getMessage());
}
}
示例10: deleteDocsByNumOfDownloads
import org.apache.solr.client.solrj.request.UpdateRequest; //导入方法依赖的package包/类
/**
* Löscht alle Dokumente, die nicht mehr als maxNumOfDownloads viele Downloads in den letzten 30 Tagen hatten
*
* @param maxNumOfDownloads Schwellwert
*/
private void deleteDocsByNumOfDownloads(int maxNumOfDownloads) {
UpdateRequest updateRequest = new UpdateRequest();
updateRequest.setBasicAuthCredentials(Configuration.USERNAME, Configuration.PASSWORD);
// TODO geeignete Delete Query hinzufügen
updateRequest.setAction(AbstractUpdateRequest.ACTION.COMMIT, false, false);
try {
updateRequest.process(solrClient);
System.out.println("Dokumente erfolgreich gelöscht!");
} catch (SolrServerException|IOException e) {
System.err.println("Fehler beim Löschen: " + e.getMessage());
}
}
示例11: insertTestDocuments
import org.apache.solr.client.solrj.request.UpdateRequest; //导入方法依赖的package包/类
/** 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 {
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);
}
}
示例12: clearCollection
import org.apache.solr.client.solrj.request.UpdateRequest; //导入方法依赖的package包/类
/** Clear given collection. */
static void clearCollection(String collection, AuthorizedSolrClient client) throws IOException {
try {
UpdateRequest updateRequest = new UpdateRequest();
updateRequest.setAction(UpdateRequest.ACTION.COMMIT, true, true);
updateRequest.deleteByQuery("*:*");
client.process(collection, updateRequest);
} catch (SolrServerException e) {
throw new IOException(e);
}
}
示例13: commitAndGetCurrentNumDocs
import org.apache.solr.client.solrj.request.UpdateRequest; //导入方法依赖的package包/类
/**
* Forces a commit of the given collection to make recently inserted documents available for
* search.
*
* @return The number of docs in the index
*/
static long commitAndGetCurrentNumDocs(String collection, AuthorizedSolrClient client)
throws IOException {
SolrQuery solrQuery = new SolrQuery("*:*");
solrQuery.setRows(0);
try {
UpdateRequest update = new UpdateRequest();
update.setAction(UpdateRequest.ACTION.COMMIT, true, true);
client.process(collection, update);
return client.query(collection, new SolrQuery("*:*")).getResults().getNumFound();
} catch (SolrServerException e) {
throw new IOException(e);
}
}
示例14: newUpdateRequest
import org.apache.solr.client.solrj.request.UpdateRequest; //导入方法依赖的package包/类
private UpdateRequest newUpdateRequest() {
UpdateRequest req = new UpdateRequest();
if(waitSearcher) {
req.setAction(UpdateRequest.ACTION.COMMIT, true, true);
}
return req;
}
示例15: newUpdateRequest
import org.apache.solr.client.solrj.request.UpdateRequest; //导入方法依赖的package包/类
private UpdateRequest newUpdateRequest() {
UpdateRequest req = new UpdateRequest();
req.setAction(UpdateRequest.ACTION.COMMIT, true, true);
if (waitSearcher) {
req.setAction(UpdateRequest.ACTION.COMMIT, true, true);
}
return req;
}