Поделиться через


SearchIndexClient Класс

Клиент для взаимодействия с индексом службы поиска Azure.

Наследование
azure.search.documents._headers_mixin.HeadersMixin
SearchIndexClient

Конструктор

SearchIndexClient(endpoint: str, credential: AzureKeyCredential | TokenCredential, **kwargs: Any)

Параметры

endpoint
str
Обязательно

Конечная точка URL-адреса службы поиска Azure

credential
AzureKeyCredential или TokenCredential
Обязательно

Учетные данные для авторизации поисковых запросов клиентов

api_version
str

Версия API поиска, используемая для запросов.

audience
str

задает аудиторию, используемую для проверки подлинности с помощью Azure Active Directory (AAD). Аудитория не учитывается при использовании общего ключа. Если аудитория не указана, предполагается аудитория общедоступного облака.

Методы

analyze_text

Показывает, как анализатор разбивает текст на маркеры.

close

SearchIndexClient Закройте сеанс.

create_index

Создает новый индекс поиска.

create_or_update_index

Создает новый индекс поиска или обновляет индекс, если он уже существует.

create_or_update_synonym_map

Создайте новую карту синонимов в служба Azure или обновите существующую.

create_synonym_map

Создание схемы синонимов в служба Azure

delete_index

Удаляет индекс поиска и все содержащиеся в нем документы. Для использования условий доступа необходимо указать модель вместо имени.

delete_synonym_map

Удаление именованной карты синонимов в служба Azure. Чтобы использовать условия доступа, вместо имени необходимо указать модель SynonymMap. Достаточно указать имя карты синонимов для безусловного удаления.

get_index
get_index_statistics

Возвращает статистику по заданному индексу, включая количество документов и использование хранилища.

get_search_client

Возврат клиента для выполнения операций с поиском

get_service_statistics

Получение статистики уровня службы для службы поиска.

get_synonym_map

Получение именованной карты синонимов в служба Azure

get_synonym_map_names

Перечисление имен сопоставления синонимов в служба Azure.

get_synonym_maps

Перечисление карт синонимов в служба Azure.

list_index_names

Перечисление имен индексов в служба Azure.

list_indexes

Вывод списка индексов в служба Azure.

analyze_text

Показывает, как анализатор разбивает текст на маркеры.

analyze_text(index_name: str, analyze_request: AnalyzeTextOptions, **kwargs: Any) -> AnalyzeResult

Параметры

index_name
str
Обязательно

Имя индекса, для которого тестируется анализатор.

analyze_request
AnalyzeTextOptions
Обязательно

Компоненты текста и анализатора или анализа для тестирования.

Возвращаемое значение

AnalyzeResult

Возвращаемый тип

Исключения

Примеры

Анализ текста


   from azure.core.credentials import AzureKeyCredential
   from azure.search.documents.indexes import SearchIndexClient
   from azure.search.documents.indexes.models import AnalyzeTextOptions

   client = SearchIndexClient(service_endpoint, AzureKeyCredential(key))

   analyze_request = AnalyzeTextOptions(text="One's <two/>", analyzer_name="standard.lucene")

   result = client.analyze_text(index_name, analyze_request)
   print(result.as_dict())

close

SearchIndexClient Закройте сеанс.

close() -> None

Исключения

create_index

Создает новый индекс поиска.

create_index(index: SearchIndex, **kwargs: Any) -> SearchIndex

Параметры

index
SearchIndex
Обязательно

Объект index.

Возвращаемое значение

Созданный индекс

Возвращаемый тип

Исключения

Примеры

Создание нового индекса.


   client = SearchIndexClient(service_endpoint, AzureKeyCredential(key))
   name = "hotels"
   fields = [
       SimpleField(name="hotelId", type=SearchFieldDataType.String, key=True),
       SimpleField(name="baseRate", type=SearchFieldDataType.Double),
       SearchableField(name="description", type=SearchFieldDataType.String, collection=True),
       ComplexField(
           name="address",
           fields=[
               SimpleField(name="streetAddress", type=SearchFieldDataType.String),
               SimpleField(name="city", type=SearchFieldDataType.String),
           ],
           collection=True,
       ),
   ]
   cors_options = CorsOptions(allowed_origins=["*"], max_age_in_seconds=60)
   scoring_profiles: List[ScoringProfile] = []
   index = SearchIndex(name=name, fields=fields, scoring_profiles=scoring_profiles, cors_options=cors_options)

   result = client.create_index(index)

create_or_update_index

Создает новый индекс поиска или обновляет индекс, если он уже существует.

create_or_update_index(index: SearchIndex, allow_index_downtime: bool | None = None, *, match_condition: MatchConditions = MatchConditions.Unconditionally, **kwargs: Any) -> SearchIndex

Параметры

index
SearchIndex
Обязательно

Объект index.

allow_index_downtime
bool
Обязательно

Позволяет добавлять новые анализаторы, создатели маркеров, фильтры маркеров или фильтры символов в индекс, переводя индекс в автономный режим по крайней мере на несколько секунд. Это временно приводит к сбою индексирования и запросов. После обновления индекса его производительность и доступность для записи может быть снижена на несколько минут или дольше, если индекс очень большой.

match_condition
MatchConditions

Условие соответствия, используемое для etag

Возвращаемое значение

Созданный или обновленный индекс

Возвращаемый тип

Исключения

Примеры

Обновление индекса.


   client = SearchIndexClient(service_endpoint, AzureKeyCredential(key))
   name = "hotels"
   fields = [
       SimpleField(name="hotelId", type=SearchFieldDataType.String, key=True),
       SimpleField(name="baseRate", type=SearchFieldDataType.Double),
       SearchableField(name="description", type=SearchFieldDataType.String, collection=True),
       SearchableField(name="hotelName", type=SearchFieldDataType.String),
       ComplexField(
           name="address",
           fields=[
               SimpleField(name="streetAddress", type=SearchFieldDataType.String),
               SimpleField(name="city", type=SearchFieldDataType.String),
               SimpleField(name="state", type=SearchFieldDataType.String),
           ],
           collection=True,
       ),
   ]
   cors_options = CorsOptions(allowed_origins=["*"], max_age_in_seconds=60)
   scoring_profile = ScoringProfile(name="MyProfile")
   scoring_profiles = []
   scoring_profiles.append(scoring_profile)
   index = SearchIndex(name=name, fields=fields, scoring_profiles=scoring_profiles, cors_options=cors_options)

   result = client.create_or_update_index(index=index)

create_or_update_synonym_map

Создайте новую карту синонимов в служба Azure или обновите существующую.

create_or_update_synonym_map(synonym_map: SynonymMap, *, match_condition: MatchConditions = MatchConditions.Unconditionally, **kwargs: Any) -> SynonymMap

Параметры

synonym_map
SynonymMap
Обязательно

Объект "Сопоставление синонимов"

match_condition
MatchConditions

Условие соответствия, используемое для etag

Возвращаемое значение

Созданная или обновленная карта синонимов

Возвращаемый тип

Исключения

create_synonym_map

Создание схемы синонимов в служба Azure

create_synonym_map(synonym_map: SynonymMap, **kwargs: Any) -> SynonymMap

Параметры

synonym_map
SynonymMap
Обязательно

Объект "Сопоставление синонимов"

Возвращаемое значение

Созданная карта синонимов

Возвращаемый тип

Исключения

Примеры

Создание сопоставления синонимов


   synonyms = [
       "USA, United States, United States of America",
       "Washington, Wash. => WA",
   ]
   synonym_map = SynonymMap(name="test-syn-map", synonyms=synonyms)
   result = client.create_synonym_map(synonym_map)
   print("Create new Synonym Map 'test-syn-map succeeded")

delete_index

Удаляет индекс поиска и все содержащиеся в нем документы. Для использования условий доступа необходимо указать модель вместо имени.

delete_index(index: str | SearchIndex, *, match_condition: MatchConditions = MatchConditions.Unconditionally, **kwargs: Any) -> None

Параметры

index
str или SearchIndex
Обязательно

Имя индекса или удаляемый объект.

match_condition
MatchConditions

Условие соответствия, используемое для etag

Исключения

Примеры

Удаление индекса.


   client = SearchIndexClient(service_endpoint, AzureKeyCredential(key))
   name = "hotels"
   client.delete_index(name)

delete_synonym_map

Удаление именованной карты синонимов в служба Azure. Чтобы использовать условия доступа, вместо имени необходимо указать модель SynonymMap. Достаточно указать имя карты синонимов для безусловного удаления.

delete_synonym_map(synonym_map: str | SynonymMap, *, match_condition: MatchConditions = MatchConditions.Unconditionally, **kwargs: Any) -> None

Параметры

name
str или SynonymMap
Обязательно

Имя сопоставления синонимов или удаляемый объект

match_condition
MatchConditions

Условие соответствия, используемое для etag

Возвращаемое значение

Нет

Возвращаемый тип

Исключения

Примеры

Удаление сопоставления синонимов


   client.delete_synonym_map("test-syn-map")
   print("Synonym Map 'test-syn-map' deleted")

get_index

get_index(name: str, **kwargs: Any) -> SearchIndex

Параметры

name
str
Обязательно

Имя извлекаемого индекса.

Возвращаемое значение

Объект SearchIndex

Возвращаемый тип

Исключения

Примеры

Получение индекса.


   client = SearchIndexClient(service_endpoint, AzureKeyCredential(key))
   name = "hotels"
   result = client.get_index(name)

get_index_statistics

Возвращает статистику по заданному индексу, включая количество документов и использование хранилища.

get_index_statistics(index_name: str, **kwargs: Any) -> MutableMapping[str, Any]

Параметры

index_name
str
Обязательно

Имя извлекаемого индекса.

Возвращаемое значение

Статистика по заданному индексу, включая количество документов и использование хранилища.

Возвращаемый тип

Исключения

get_search_client

Возврат клиента для выполнения операций с поиском

get_search_client(index_name: str, **kwargs: Any) -> SearchClient

Параметры

index_name
str
Обязательно

Имя индекса поиска

Возвращаемое значение

Объект SearchClient

Возвращаемый тип

Исключения

get_service_statistics

Получение статистики уровня службы для службы поиска.

get_service_statistics(**kwargs: Any) -> MutableMapping[str, Any]

Возвращаемое значение

Результат статистики службы.

Возвращаемый тип

Исключения

get_synonym_map

Получение именованной карты синонимов в служба Azure

get_synonym_map(name: str, **kwargs: Any) -> SynonymMap

Параметры

name
str
Обязательно

Имя получаемой карты синонимов

Возвращаемое значение

Полученная карта синонимов

Возвращаемый тип

Исключения

Примеры

Получение карты синонимов


   result = client.get_synonym_map("test-syn-map")
   print("Retrived Synonym Map 'test-syn-map' with synonyms")
   for syn in result.synonyms:
       print("    {}".format(syn))

get_synonym_map_names

Перечисление имен сопоставления синонимов в служба Azure.

get_synonym_map_names(**kwargs: Any) -> List[str]

Возвращаемое значение

Список карт синонимов

Возвращаемый тип

Исключения

get_synonym_maps

Перечисление карт синонимов в служба Azure.

get_synonym_maps(*, select: List[str] | None = None, **kwargs) -> List[SynonymMap]

Параметры

select
list[str]

Выбирает свойства верхнего уровня наборов навыков, которые требуется извлечь. Указывается в виде списка имен свойств JSON или "*" для всех свойств. По умолчанию используется значение all properties.

Возвращаемое значение

Список карт синонимов

Возвращаемый тип

Исключения

Примеры

Перечисление карт синонимов


   result = client.get_synonym_maps()
   names = [x.name for x in result]
   print("Found {} Synonym Maps in the service: {}".format(len(result), ", ".join(names)))

list_index_names

Перечисление имен индексов в служба Azure.

list_index_names(**kwargs: Any) -> ItemPaged[str]

Возвращаемое значение

Список имен индексов

Возвращаемый тип

Исключения

list_indexes

Вывод списка индексов в служба Azure.

list_indexes(*, select: List[str] | None = None, **kwargs: Any) -> ItemPaged[SearchIndex]

Параметры

select
list[str]

Выбирает свойства верхнего уровня наборов навыков, которые требуется извлечь. Указывается в виде списка имен свойств JSON или "*" для всех свойств. По умолчанию используется значение all properties.

Возвращаемое значение

Список индексов

Возвращаемый тип

Исключения