:
: There are a couple queries that we would like to run almost realtime so
: I would like to have it so our client sends an update on every new
: document and then have solr configured to do an autocommit every 5-10
: seconds.
:
: reading the Wiki, it seems like this isn't possible because of the
: strain of snapshotting and pulling to the slaves at such a high rate.
: What I was thinking was for these few queries to just query the master
: and the rest can query the slave with the not realtime data, although
: I'm assuming this wouldn't work either because since a snapshot is
: created on every commit, we would still impact the performance too much?

there is no reason why a commit has to trigger a snapshot, that happens
only if you configure a postCommit hook to do so in your solrconfig.xml

you can absolutely commit every 5 seconds, but have a seperate cron task
that runs snapshooter ever 5 minutes -- you could even continue to run
snapshooter on every commit, and get a new snapshot ever 5 seconds, but
only run snappuller on your slave machines ever 5 minutes (the
snapshots are hardlinks and don't take up a lot of space, and snappuller
only needs to fetch the most recent snapshot)

your idea of querying the msater directly for these queries seems
perfectly fine to me ... just make sure the auto warm count on the caches
on your master is very tiny so the new searchers are ready quickly after
each commit.




-Hoss

Reply via email to