async def test_create_or_update_index(self, api_key, endpoint, index_name, **kwargs): name = "hotels" fields = fields = [ SimpleField(name="hotelId", type=edm.String, key=True), SimpleField(name="baseRate", type=edm.Double) ] cors_options = CorsOptions(allowed_origins=["*"], max_age_in_seconds=60) scoring_profiles = [] index = Index( name=name, fields=fields, scoring_profiles=scoring_profiles, cors_options=cors_options) client = SearchServiceClient(endpoint, AzureKeyCredential(api_key)).get_indexes_client() result = await client.create_or_update_index(index_name=index.name, index=index) assert len(result.scoring_profiles) == 0 assert result.cors_options.allowed_origins == cors_options.allowed_origins assert result.cors_options.max_age_in_seconds == cors_options.max_age_in_seconds scoring_profile = ScoringProfile( name="MyProfile" ) scoring_profiles = [] scoring_profiles.append(scoring_profile) index = Index( name=name, fields=fields, scoring_profiles=scoring_profiles, cors_options=cors_options) result = await client.create_or_update_index(index_name=index.name, index=index) assert result.scoring_profiles[0].name == scoring_profile.name assert result.cors_options.allowed_origins == cors_options.allowed_origins assert result.cors_options.max_age_in_seconds == cors_options.max_age_in_seconds
async def update_index(): # [START update_index_async] name = "hotels" fields = fields = [ SimpleField(name="hotelId", type=edm.String, key=True), SimpleField(name="baseRate", type=edm.Double), SearchableField(name="description", type=edm.String), SearchableField(name="hotelName", type=edm.String), ComplexField(name="address", fields=[ SimpleField(name="streetAddress", type=edm.String), SimpleField(name="city", type=edm.String), SimpleField(name="state", type=edm.String), ]) ] cors_options = CorsOptions(allowed_origins=["*"], max_age_in_seconds=60) scoring_profile = ScoringProfile( name="MyProfile" ) scoring_profiles = [] scoring_profiles.append(scoring_profile) index = Index( name=name, fields=fields, scoring_profiles=scoring_profiles, cors_options=cors_options) result = await client.create_or_update_index(index_name=index.name, index=index)
async def create_indexer(): # create an index index_name = "hotels" fields = [ SimpleField(name="hotelId", type=edm.String, key=True), SimpleField(name="baseRate", type=edm.Double) ] index = Index(name=index_name, fields=fields) ind_client = service_client.get_indexes_client() async with ind_client: await ind_client.create_index(index) # [START create_indexer_async] # create a datasource ds_client = service_client.get_datasources_client() credentials = DataSourceCredentials(connection_string=connection_string) container = DataContainer(name='searchcontainer') ds = DataSource(name="async-indexer-datasource", type="azureblob", credentials=credentials, container=container) async with ds_client: data_source = await ds_client.create_datasource(ds) # create an indexer indexer = Indexer(name="async-sample-indexer", data_source_name="async-indexer-datasource", target_index_name="hotels") async with indexers_client: result = await indexers_client.create_indexer(indexer) print("Create new Indexer - async-sample-indexer")
def create_index(): # [START create_index] name = "hotels" fields = [ SimpleField(name="hotelId", type=edm.String, key=True), SimpleField(name="baseRate", type=edm.Double) ] cors_options = CorsOptions(allowed_origins=["*"], max_age_in_seconds=60) scoring_profiles = [] index = Index(name=name, fields=fields, scoring_profiles=scoring_profiles, cors_options=cors_options) result = client.create_index(index)
def test_defaults(self): fld = SimpleField(name="foo", type=edm.Double) assert fld.name == "foo" assert fld.type == edm.Double assert fld.retrievable == True assert fld.sortable == False assert fld.facetable == False assert fld.searchable == False assert fld.filterable == False assert fld.analyzer is None assert fld.search_analyzer is None assert fld.index_analyzer is None assert fld.synonym_maps is None