<!--
{
  "availability" : [
    "iOS: 27.0.0 -",
    "iPadOS: 27.0.0 -",
    "macCatalyst: 27.0.0 -",
    "macOS: 27.0.0 -",
    "visionOS: 27.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "CoreSpotlight",
  "identifier" : "/documentation/CoreSpotlight/SpotlightSearchTool/GuidanceProfile",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "Core Spotlight",
      "FoundationModels",
      "_CoreSpotlight_FoundationModels"
    ],
    "preciseIdentifier" : "s:31_CoreSpotlight_FoundationModels0B10SearchToolV15GuidanceProfileV"
  },
  "title" : "SpotlightSearchTool.GuidanceProfile"
}
-->

# SpotlightSearchTool.GuidanceProfile

Options for which techniques to use to determine a match.

```
struct GuidanceProfile
```

## Overview

When you configure the [`SpotlightSearchTool`](/documentation/CoreSpotlight/SpotlightSearchTool) with the [`SpotlightSearchTool.GuidanceLevel.dynamic(_:)`](/documentation/CoreSpotlight/SpotlightSearchTool/GuidanceLevel/dynamic(_:))
guidance option, you provide an instance of this structure. Configure the structure with the search
techniques you want to allow or disallow, and might do so to prevent searches using techniques that
don’t apply to your content. If you don’t specify a value for a property, the tool doesn’t use that search option.

In addition to specifying what types of searches to perform, you can also specify which of your content’s
attributes to consider when looking for matches. The default behavior searches all of the attributes present
for your content, but you can specify a custom set of attributes if you want the tool to ignore certain values.

## Topics

### Creating the guidance profile

[`init(textMatch: Bool?, similarityMatch: Bool?, numericMatch: Bool?, dates: Bool?, people: Bool?, contentType: Bool?, attributes: [SearchableItemAttribute]?)`](/documentation/CoreSpotlight/SpotlightSearchTool/GuidanceProfile/init(textMatch:similarityMatch:numericMatch:dates:people:contentType:attributes:))

### Specifying the supported search techniques

[`var contentType: Bool?`](/documentation/CoreSpotlight/SpotlightSearchTool/GuidanceProfile/contentType)

A Boolean value that indicates whether to determine matches using an item’s type.

[`var dates: Bool?`](/documentation/CoreSpotlight/SpotlightSearchTool/GuidanceProfile/dates)

A Boolean value that indicates whether to determine matches using date or time values.

[`var numericMatch: Bool?`](/documentation/CoreSpotlight/SpotlightSearchTool/GuidanceProfile/numericMatch)

A Boolean value that indicates whether to determine matches using numerical values.

[`var people: Bool?`](/documentation/CoreSpotlight/SpotlightSearchTool/GuidanceProfile/people)

A Boolean value that indicates whether to determine matches using the presence of specific people.

[`var similarityMatch: Bool?`](/documentation/CoreSpotlight/SpotlightSearchTool/GuidanceProfile/similarityMatch)

A Boolean value that indicates whether to perform semantic similarity matching on your content.

[`var textMatch: Bool?`](/documentation/CoreSpotlight/SpotlightSearchTool/GuidanceProfile/textMatch)

A Boolean value that indicates whether to perform keyword-based text matching on your content.

### Getting the relevant attributes

[`var attributes: [SearchableItemAttribute]?`](/documentation/CoreSpotlight/SpotlightSearchTool/GuidanceProfile/attributes)

The relevant attributes from your content that you want to search.

## Relationships

### Conforms To

[`Sendable`](/documentation/Swift/Sendable)

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)