Core Spotlight Semantic Search - still non-functional for 1+ year after WWDC24?

After more than a year since the announcement, I'm still unable to get this feature working properly and wondering if there are known issues or missing implementation details.

Current Setup:

  • Device: iPhone 16 Pro Max
  • iOS: 26 beta 3
  • Development: Tested on both Xcode 16 and Xcode 26
  • Implementation: Following the official documentation examples

The Problem: Semantic search simply doesn't work. Lexical search functions normally, but enabling semantic search produces identical results to having it disabled. It's as if the feature isn't actually processing.

Error Output (Xcode 26):

[QPNLU][qid=5] Error Domain=com.apple.SpotlightEmbedding.EmbeddingModelError Code=-8007 "Text embedding generation timeout (timeout=100ms)"
[CSUserQuery][qid=5] got a nil / empty embedding data dictionary
[CSUserQuery][qid=5] semanticQuery failed to generate, using "(false)"

In Xcode 16, there are no error messages at all - the semantic search just silently fails.

Missing Resources: The sample application mentioned during the WWDC24 presentation doesn't appear to have been released, which makes it difficult to verify if my implementation is correct.

Would really appreciate any guidance or clarification on the current status of this feature. Has anyone in the community successfully implemented this?

I see the exact same thing.

Identical error.

  • macOS 26.2 beta 1
  • Xcode 26.2 beta

Same for me! I go nuts with it! Impossible to debug or understand

Found it guys…

First, the pattern is reversed:

disableSemanticSearch = True (default) is semantic search ON…

Second finding… despite prepare() it doesn't ensure that you don't get the error.

Adding a "dummy first request" gets the error, and the following requests work (with correct results)

Same experience here — CSSearchableItem with semanticDescription populated, index looks fine in the debug console, but semantic queries return nothing useful. Filed a Feedback last year and got silence. At this point I'm embedding my own vectors via sentence-transformers on CoreML and doing the similarity search manually. More work but at least it actually functions.

I'm also curious about how to get this to work. One interesting thing I noticed is I think it somehow lexical searches on contentType, so if you type "text" and your contentType is .text it will get you all the items.

I don't know if the following helps but they are messages I see that I don't know what they mean

Error loading asset properties: Error Domain=NSCocoaErrorDomain Code=257 "The file “Info.plist” couldn’t be opened because you don’t have permission to view it." UserInfo={NSFilePath=/private/var/MobileAsset/AssetsV2/com_apple_MobileAsset_SpotlightResources/25ff95e6530e495d617f7af0b08de04718cbb419.asset/Info.plist, NSURL=file:///private/var/MobileAsset/AssetsV2/com_apple_MobileAsset_SpotlightResources/25ff95e6530e495d617f7af0b08de04718cbb419.asset/Info.plist, NSUnderlyingError=0x109642280 {Error Domain=NSPOSIXErrorDomain Code=1 "Operation not permitted"}}
Error loading asset properties: Error Domain=NSCocoaErrorDomain Code=257 "The file “Info.plist” couldn’t be opened because you don’t have permission to view it." UserInfo={NSFilePath=/private/var/MobileAsset/AssetsV2/com_apple_MobileAsset_SpotlightResources/3cd5f0cf7c943e861cb1b78d30b1eac7186ae69e.asset/Info.plist, NSURL=file:///private/var/MobileAsset/AssetsV2/com_apple_MobileAsset_SpotlightResources/3cd5f0cf7c943e861cb1b78d30b1eac7186ae69e.asset/Info.plist, NSUnderlyingError=0x109642be0 {Error Domain=NSPOSIXErrorDomain Code=1 "Operation not permitted"}}
Error loading asset properties: Error Domain=NSCocoaErrorDomain Code=257 "The file “Info.plist” couldn’t be opened because you don’t have permission to view it." UserInfo={NSFilePath=/private/var/MobileAsset/AssetsV2/com_apple_MobileAsset_SpotlightResources/3cd5f0cf7c943e861cb1b78d30b1eac7186ae69e.asset/Info.plist, NSURL=file:///private/var/MobileAsset/AssetsV2/com_apple_MobileAsset_SpotlightResources/3cd5f0cf7c943e861cb1b78d30b1eac7186ae69e.asset/Info.plist, NSUnderlyingError=0x1096423a0 {Error Domain=NSPOSIXErrorDomain Code=1 "Operation not permitted"}}
Got empty URL for locale en-US
Failed to load date patterns for locale
_dictationButton not yet initialized when setting up for the large content viewer.
_dictationButton not yet initialized when setting up for the large content viewer.
Core Spotlight Semantic Search - still non-functional for 1+ year after WWDC24?
 
 
Q