Generally in development using Tridion have two server one for Preview and One for Live.
So In order to setup SmartTarget for both Live and Preview environment what topology must be used.
1) ------------------------------------
SmartTargetPreviewIS|localhost|1|-|Indexer for Preview environment.
SmartTargetPreviewQS|localhost|2|SmartTargetPreviewIS|Query Server for Preview environment.
SmartTargetLiveQS|localhost|3|SmartTargetPreviewIS|Query Server for Preview environment.
2)-------------------------------------------
SmartTargetPreviewIS|localhost|1|-|Indexer for Preview environment.
SmartTargetPreviewQS|localhost|2|SmartTargetPreviewIS|Query Server for Preview environment.
SmartTargetLiveIS|localhost|3|-|Indexer for Live Environment
SmartTargetLiveQS|localhost|4|SmartTargetLiveIS|Query Server for Live Environment
Which should be followed? Or is there a better way to implement it?