You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-commits@lucene.apache.org by Apache Wiki <wi...@apache.org> on 2011/07/18 20:06:26 UTC
[Solr Wiki] Update of "Solrj" by jntrac
Dear Wiki user,
You have subscribed to a wiki page or wiki category on "Solr Wiki" for change notification.
The "Solrj" page has been changed by jntrac:
http://wiki.apache.org/solr/Solrj?action=diff&rev1=58&rev2=59
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.5.6</version>
- </dependency>
+ </dependency>
}}}
If you use solr-solrj version 1.4.1 and slf4j-simple 1.5.6 you may get IllegalAccessError because of slf4j-api change.
@@ -210, +210 @@
req.add( docs );
UpdateResponse rsp = req.process( server );
}}}
+
+
=== Streaming documents for an update ===
In most cases [[http://lucene.apache.org/solr/api/org/apache/solr/client/solrj/impl/StreamingUpdateSolrServer.html|StreamingUpdateSolrServer]] will suit your needs. Alternatively, the workaround presented below can be applied.
@@ -288, +290 @@
server.addBeans(beans);
}}}
/!\ Note -- Reuse the instance of !SolrServer if you are using this feature (for performance )
+
+ === Solr Transactions ===
+
+ Solr implements transactions at the server level. This means that every commit, optimize, or rollback applies to all requests since the last commit/optimize/rollback.
+
+ The most appropriate way to update solr is with a single process in order to avoid race conditions when using commit and rollback. Also, ideally the application will use batch processing since commit and optimize can be expensive routines.
== Setting the RequestWriter ==