Ich habe derzeit ein Setup, bei dem Daten in eine Datenbank eingefügt und in Solr indiziert werden. Diese beiden Schritte werden in eine federverwaltete Transaktion über die Annotation @Transaction eingebunden. Was ich bemerkt habe ist, dass der Frühling-data-solr ein Update mit den folgenden Parametern ausgibt, wenn die Transaktion geschlossen wird: params {commit = true & SoftCommit = false & waitSearcher = true}Spring Data Solr @Transaction Commits
@Transactional
public void save(Object toSave){
dbRepository.save(toSave);
solrRepository.save(toSave);
}
Die Rate der Commits in solr ist ziemlich hoch, also möchte ich idealerweise Daten an den solr-Index senden und in regelmäßigen Abständen solr automatisch committen. Ich habe die AutoCommit (und AutoSoftCommit) in meiner solrconfig.xml gesetzt, aber da spring-data-solr diese Commit-Parameter sendet, wird jedes Mal ein hartes Commit ausgeführt.
Ich bin mir bewusst, dass ich auf die SolrTemplate-API zugreifen und Commits manuell ausstellen kann. Ich möchte den Aufruf von solr repository.save in einer im Frühjahr verwalteten Transaktion behalten, wenn möglich. Gibt es eine Möglichkeit, die Parameter zu ändern, die beim Commit an Solr gesendet werden?