你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

SearchIndexClient 类

用于与 Azure 搜索服务索引交互的客户端。

继承
azure.search.documents._headers_mixin.HeadersMixin
SearchIndexClient

构造函数

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

参数

endpoint
str
必需

Azure 搜索服务的 URL 终结点

credential
AzureKeyCredentialTokenCredential
必需

用于授权搜索客户端请求的凭据

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
必需

The 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
必需

The 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
必需

Synonym Map 对象

match_condition
MatchConditions

在 etag 上使用的匹配条件

返回

创建或更新的同义词映射

返回类型

例外

create_synonym_map

在 Azure 搜索服务中创建新的同义词映射

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

参数

synonym_map
SynonymMap
必需

Synonym Map 对象

返回

创建的同义词映射

返回类型

例外

示例

创建同义词映射


   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
strSearchIndex
必需

要删除的索引名称或对象。

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
strSynonymMap
必需

同义词映射名称或要删除的对象

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 属性名称列表,或为所有属性指定“*”。 默认值为所有属性。

返回

同义词映射列表

返回类型

例外

示例

列出同义词映射


   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 属性名称列表,或为所有属性指定“*”。 默认值为所有属性。

返回

索引列表

返回类型

例外