Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

mactracker

macrumors regular
Original poster
1786242015117.png


You might have spent time checking how far along "Optimizing Search and Siri" was on your iPhone or iPad after each iOS 27 Beta update. For macOS, Apple has decided not to show a persistent indexing indicator in the System Settings sidebar.

There's a good chance that your Mac is still indexing and embedding your personal context.

To check its progress:
  • First, you'll need to make sure you have app private logs enabled. You can do this temporarily for this readout, but only logs created while the profile is installed will be unreacted.
  • Bring up Siri and ask a knowledge question, like "Find files I opened in the last 7 days."
  • Then open Terminal and run:
Bash:
log show --last 15m --info \
  --predicate 'process=="searchtoold" AND eventMessage CONTAINS "OmniSearchResponse:"' 2>/dev/null |
  tail -1 |
  sed -E 's/.*overallCompleteness: ([0-9.]+), sufficientlyCompleteThreshold: ([0-9.]+), isSufficientlyComplete: ([^,]+), donationCompleteness: Optional\(([0-9.]+)\), pipelineCompleteness: Optional\(([0-9.]+)\).*pipelineReportAge: ([0-9.]+).*/\1 \2 \3 \4 \5 \6/' |
  awk '{
    status = ($3 == "true") ? "Ready" : "Still processing"
    printf "%-30s %5.1f%% — %s (%.1f%% required)\n",
      "Search readiness:", $1*100, status, $2*100
    printf "%-30s %5.1f%%\n", "Known app items donated:", $4*100
    printf "%-30s %5.1f%%\n", "Search pipeline processed:", $5*100
    printf "%-30s %.1f hours\n", "Report age:", $6/3600
  }'

This prints the current completion percentages:

Code:
Search readiness:               80.0% — Ready (75.0% required)
Known app items donated:       100.0%
Search pipeline processed:      70.0%
Report age:                     12.0 hours

Here's what these numbers mean:
  • Search readiness: macOS' weighted estimate of how usable local search is, along with macOS' current readiness threshold.
  • Known app items donated: Measures whether apps have supplied all the searchable items Spotlight expects.
  • Embedding pipeline processed: How much donated content has completed semantic processing.


One possible reason Apple chose not to expose this indicator is that indexing on macOS can be extremely slow and easily interrupted. spotlightknowledged submits intensive background jobs through dasd, which in turn runs them in small bursts only after power, thermal, resource and device-activity requirements are met. A Mac may also have far more material to process than an iPhone.

Any input interaction marks the Mac as active. The UserIsActive assertion has a 3-minute waiting period, and media playback can keep the Mac active for much longer.

For the best chance of making progress, leave your Mac plugged in overnight. Even after a long run, the completion percentage may barely change because Spotlight can ask apps to redonate some or all of their searchable items.



macOS also calculates a separate global counter for the larger background embedding workload:

Bash:
plutil -extract SpotlightKnowledgeV2.embeddingGenComplete raw \
  ~/Library/Preferences/com.apple.spotlightknowledge.plist |
  awk '{printf "%.1f%%\n", $1 * 100}'

For more detailed diagnostic readouts, consult:

Bash:
plutil -p \
  ~/Library/Preferences/com.apple.spotlightknowledge.plist

Bash:
plutil -p \
  ~/Library/Preferences/com.apple.spotlightknowledged.pipeline.plist


edit: switched the main post command to a more readable format. kept embeddingGenComplete commands at the end of this post.
 
Last edited:
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.