پیشنهادات جستجو، پیشنهادات جستجو، پیشنهادات جستجو

جستجوهای پیشنهادی را دریافت کنید

برای دریافت پیشنهادات جستجو، متد getSearchSuggestions را در ContextualSearchRuntime فراخوانی کنید. این متد یک GetSearchSuggestionsOptions واحد می‌گیرد که در آن می‌توانید متنی را که برای دریافت پیشنهادات جستجو استفاده می‌شود، مشخص کنید.

شیء SearchSuggestions برگردانده شده حاوی هیچ ویژگی قابل دسترسی نیست. این شیء شامل تمام اطلاعات لازم برای ارائه پیشنهادات جستجو است، اما در غیر این صورت مبهم است.

سوئیفت از سبک همزمانی سوئیفت و Objective-C از یک تابع فراخوانی (callback function) استفاده می‌کنند.

سویفت

دریافت پیشنهادات جستجو (با گزینه‌ها:)

Task {
    let suggestions = try await searchRuntime.getSearchSuggestions(
            withOptions: GetSearchSuggestionsOptions(withTextContext:['Sample Query', 'Another query string']))
}

هدف-سی

دریافت پیشنهادات جستجو با گزینه‌ها

  [searchRuntime
      getSearchSuggestionsWithOptions:
            [[GetSearchSuggestionsOptions alloc] initWithTextContext: @[@'Sample Query', @'Another query string' ]]
                             completionHandler:^(SearchSuggestions *_Nullable suggestions,
                                                 NSError *_Nullable error) {
                              // error will be not null if there is an error.
                              // On success, suggestions will be non null.
                            }];

جستجوهای پیشنهادی مبتنی بر مکان را دریافت کنید

درخواست getSearchSuggestions همچنین از پیشنهادهای جستجوی مبتنی بر مکان پشتیبانی می‌کند. یک شیء GetSearchSuggestionsOptions با LocationSuggestionsContext بسازید.

برای ساخت کلاس LocationSuggestionsContext مراحل زیر را دنبال کنید:

  1. (الزامی) latitude ، longitude و radiusMeters را مطابق با منطقه درخواستی تنظیم کنید.
  2. (اختیاری) startTime طوری تنظیم کنید که با زمان درخواستی که پیشنهادات جستجو باید در آن اعمال شوند، مطابقت داشته باشد.
  3. (اختیاری) لیست geoTypes را با geo type های درخواستی تنظیم کنید. از انواع ارائه شده برای تنظیم رتبه بندی و فیلتر کردن نتایج برگردانده شده توسط سرویس استفاده می شود. مقادیر پشتیبانی شده در LocationSuggestionsContext مستند شده اند.

سویفت

دریافت پیشنهادات جستجو (با گزینه‌ها:)

Task {
    let locationContext: LocationSuggestionsContext = {
      let context = LocationSuggestionsContext()
      context.latitude = 40.748595
      context.longitude = -73.992365
      context.radiusMeters = 2500
      context.startTime = try?
        Date.ISO8601FormatStyle.iso8601.parse("2024-03-14T19:20:30.000+02:00")
      context.geoTypes = ["restaurant", "cafe"]
      return context
    }()
    let suggestions = try await searchRuntime.getSearchSuggestions(
            withOptions: GetSearchSuggestionsOptions(locationContext: [
              locationContext
            ]))
}

هدف-سی

دریافت پیشنهادات جستجو با گزینه‌ها


  LocationSuggestionsContext *locationContext;
  locationContext = [[LocationSuggestionsContext alloc] init];
  locationContext.latitude = 40.748595;
  locationContext.longitude = -73.992365;
  locationContext.radiusMeters = @2500;
  [searchRuntime
      getSearchSuggestionsWithOptions:
            [[GetSearchSuggestionsOptions alloc] initWithLocationContext: locationContext]
                             completionHandler:^(SearchSuggestions *_Nullable suggestions,
                                                 NSError *_Nullable error) {
                              // error will be not null if there is an error.
                              // On success, suggestions will be non null.
                            }];

نمایش

برای نمایش تراشه‌های پیشنهاد جستجو، از روش‌های زیر استفاده کنید (اگر از UIKit در مقابل SwiftUI استفاده می‌کنید، سبک متفاوت است).

رابط کاربری سویفت

تراشه‌های پیشنهاد جستجو را با استفاده از SearchSuggestionsViewController نمایش دهید.

// Create the SearchSuggestionsViewController with specified display options.
var searchSuggestionsController = SearchSuggestionsViewController(options: viewOptions)
...
// Add the view controller to the existing view hierarchy
searchSuggestionsController.addToViewContoller(self)
view.addSubview(searchSuggestionsController.view)
...
// Assign a specific set of search suggestions to this view controller.
searchSuggestionsController.searchSuggestions = suggestions

هدف-سی

تراشه‌های پیشنهاد جستجو را با استفاده از SearchSuggestionsViewController نمایش دهید.

// Create the SearchSuggestionsController with specified display options.
SearchSuggestionsViewController *_searchSuggestionsController =
      [[SearchSuggestionsViewController alloc] initWithOptions:_customizationOptions];
...
// Add the view controller to the existing view hierarchy
[_searchSuggestionsController addToViewController:self];
[self.view addSubview:_searchSuggestionsController.view];
...
// Assign a specific set of search suggestions to this view controller.
_searchSuggestionsController.searchSuggestions = suggestions

سویفت‌یو‌آی

پیشنهادات جستجو را می‌توان با SearchSuggestionsView نمایش داد.

SearchSuggestionsView(suggestions: suggestions, options: options)

بعدی: نمایش نتایج جستجو