SearchIndexClient 클래스
Azure Search Service 인덱스와 상호 작용하는 클라이언트입니다.
- 상속
-
azure.search.documents._headers_mixin.HeadersMixinSearchIndexClient
생성자
SearchIndexClient(endpoint: str, credential: AzureKeyCredential | TokenCredential, **kwargs: Any)
매개 변수
- api_version
- str
요청에 사용할 Search API 버전입니다.
- audience
- str
는 AAD(Azure Active Directory)를 사용하여 인증에 사용할 대상 그룹을 설정합니다. 공유 키를 사용할 때 대상 그룹은 고려되지 않습니다. 대상 그룹이 제공되지 않으면 퍼블릭 클라우드 대상 그룹이 가정됩니다.
메서드
analyze_text |
분석기가 텍스트를 토큰으로 나누는 방법을 보여 줍니다. |
close |
세션을 닫습니다 SearchIndexClient . |
create_index |
새 검색 인덱스 만들기 |
create_or_update_index |
새 검색 인덱스를 만들거나 인덱스가 이미 있는 경우 인덱스를 업데이트합니다. |
create_or_update_synonym_map |
Azure Search Service 새 동의어 맵을 만들거나 기존 동의어 맵을 업데이트합니다. |
create_synonym_map |
Azure Search Service 새 동의어 맵 만들기 |
delete_index |
검색 인덱스와 검색 인덱스에 포함된 모든 문서를 삭제합니다. 액세스 조건을 사용하려면 이름 대신 모델을 제공해야 합니다. |
delete_synonym_map |
Azure Search Service 명명된 동의어 맵을 삭제합니다. 액세스 조건을 사용하려면 이름 대신 SynonymMap 모델을 제공해야 합니다. 동의어 맵의 이름을 제공하여 무조건 삭제하기에 충분합니다. |
get_index | |
get_index_statistics |
문서 수 및 스토리지 사용량을 포함하여 지정된 인덱스에 대한 통계를 반환합니다. |
get_search_client |
검색에서 작업을 수행할 클라이언트 반환 |
get_service_statistics |
검색 서비스에 대한 서비스 수준 통계를 가져옵니다. |
get_synonym_map |
Azure Search Service 명명된 동의어 맵 검색 |
get_synonym_map_names |
Azure Search Service 동의어 맵 이름을 나열합니다. |
get_synonym_maps |
Azure Search Service 동의어 맵을 나열합니다. |
list_index_names |
Azure Search Service 인덱스 이름을 나열합니다. |
list_indexes |
Azure Search Service 인덱스를 나열합니다. |
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
인덱스를 몇 초 이상 오프라인으로 전환하여 새 분석기, 토큰라이저, 토큰 필터 또는 char 필터를 인덱스에 추가할 수 있습니다. 이로 인해 일시적으로 인덱싱 및 쿼리 요청이 실패합니다. 인덱스의 성능 및 쓰기 가용성은 인덱스를 업데이트한 후 몇 분 동안, 인덱스가 아주 큰 경우에는 더 긴 시간 동안 제대로 작동하지 않을 수 있습니다.
- 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 Search Service 새 동의어 맵을 만들거나 기존 동의어 맵을 업데이트합니다.
create_or_update_synonym_map(synonym_map: SynonymMap, *, match_condition: MatchConditions = MatchConditions.Unconditionally, **kwargs: Any) -> SynonymMap
매개 변수
- match_condition
- MatchConditions
etag에 사용할 일치 조건
반환
생성되거나 업데이트된 동의어 맵
반환 형식
예외
create_synonym_map
Azure Search Service 새 동의어 맵 만들기
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 Search Service 명명된 동의어 맵을 삭제합니다. 액세스 조건을 사용하려면 이름 대신 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 Search Service 명명된 동의어 맵 검색
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 Search Service 동의어 맵 이름을 나열합니다.
get_synonym_map_names(**kwargs: Any) -> List[str]
반환
동의어 맵 목록
반환 형식
예외
get_synonym_maps
Azure Search Service 동의어 맵을 나열합니다.
get_synonym_maps(*, select: List[str] | None = None, **kwargs) -> List[SynonymMap]
매개 변수
검색할 기술 세트의 최상위 속성을 선택합니다. 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 Search Service 인덱스 이름을 나열합니다.
list_index_names(**kwargs: Any) -> ItemPaged[str]
반환
인덱스 이름 목록
반환 형식
예외
list_indexes
Azure Search Service 인덱스를 나열합니다.
list_indexes(*, select: List[str] | None = None, **kwargs: Any) -> ItemPaged[SearchIndex]
매개 변수
검색할 기술 세트의 최상위 속성을 선택합니다. JSON 속성 이름 목록으로 지정되거나 모든 속성에 대해 '*'로 지정됩니다. 기본값은 모든 속성입니다.
반환
인덱스 목록
반환 형식
예외
Azure SDK for Python