コード例 #1
0
    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)
コード例 #3
0
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)
コード例 #5
0
    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