When a monitored file has already been indexed into the wrong index, simply changing the index setting does not cause Splunk to re-read the file. Splunk tracks monitored files in the fishbucket so it knows what has already been read.
To re-index the same file, the monitor tracking information must be reset on the forwarder that originally monitored the file. This is done with the btprobe command against the fishbucket database.
The correct process is:
Correct the configuration so future data goes to the right index, Index A.
Stop the forwarder.
Reset the file’s fishbucket entry using btprobe.
Restart the forwarder so the file can be read again.
Use the delete command only to make the incorrectly indexed events unsearchable from Index B.
The delete command does not physically remove events from disk. It marks matching events so they are no longer returned in searches. It also does not reclaim disk space and does not remove buckets.
Option A is incorrect because rebuilding the indexer is not the correct fix for re-indexing a monitored file.
Option B is incorrect because a rebuild command is not the correct method for making a forwarder re-read a monitored file.
Option C is incorrect because the fishbucket reset must be performed on the forwarder that monitored the file, not on the indexer.
Option D is correct because it combines the required configuration correction, fishbucket reset on the forwarder, re-ingestion, and use of the delete command to hide the incorrectly indexed events.
[Reference: Splunk Enterprise Getting Data In Manual, monitor inputs and fishbucket behavior; Splunk Enterprise Troubleshooting Manual, re-index files and reset fishbucket; Splunk Search Reference, delete command., ===========, ]