你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
SearchIndexClient 类
用于与 Azure 搜索服务索引交互的客户端。
- 继承
-
azure.search.documents._headers_mixin.HeadersMixinSearchIndexClient
构造函数
SearchIndexClient(endpoint: str, credential: AzureKeyCredential | TokenCredential, **kwargs: Any)
参数
- 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
参数
返回
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
create_index
创建新的搜索索引。
create_index(index: SearchIndex, **kwargs: Any) -> SearchIndex
参数
返回
创建的索引
返回类型
例外
示例
创建新索引。
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
参数
- 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
参数
- match_condition
- MatchConditions
在 etag 上使用的匹配条件
返回
创建或更新的同义词映射
返回类型
例外
create_synonym_map
在 Azure 搜索服务中创建新的同义词映射
create_synonym_map(synonym_map: SynonymMap, **kwargs: Any) -> 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
参数
- 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
参数
- 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
参数
返回
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]
参数
返回
给定索引的统计信息,包括文档计数和存储使用情况。
返回类型
例外
get_search_client
返回客户端以对搜索执行操作
get_search_client(index_name: str, **kwargs: Any) -> SearchClient
参数
返回
SearchClient 对象
返回类型
例外
get_service_statistics
获取搜索服务的服务级别统计信息。
get_service_statistics(**kwargs: Any) -> MutableMapping[str, Any]
返回
服务统计信息结果。
返回类型
例外
get_synonym_map
在 Azure 搜索服务中检索命名的同义词映射
get_synonym_map(name: str, **kwargs: Any) -> SynonymMap
参数
返回
检索到的同义词映射
返回类型
例外
示例
获取同义词映射
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]
参数
返回
同义词映射列表
返回类型
例外
示例
列出同义词映射
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]
参数
返回
索引列表