Ejemplo n.º 1
0
 def test_reset_indexer(self, api_key, endpoint, index_name, **kwargs):
     client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key))
     indexer = self._prepare_indexer(endpoint, api_key)
     result = client.create_indexer(indexer)
     assert len(client.get_indexers()) == 1
     result = client.reset_indexer("sample-indexer")
     assert client.get_indexer_status("sample-indexer").last_result.status in ('InProgress', 'reset')
Ejemplo n.º 2
0
 def test_run_indexer(self, api_key, endpoint, index_name, **kwargs):
     client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key))
     indexer = self._prepare_indexer(endpoint, api_key)
     result = client.create_indexer(indexer)
     assert len(client.get_indexers()) == 1
     start = time.time()
     client.run_indexer("sample-indexer")
     assert client.get_indexer_status("sample-indexer").status == 'running'
Ejemplo n.º 3
0
def sample_indexer_workflow():
    # Now that we have a datasource and an index, we can create an indexer.

    skillset_name = _create_skillset().name
    print("Skillset is created")

    ds_name = _create_datasource().name
    print("Data source is created")

    ind_name = _create_index().name
    print("Index is created")

    # we pass the data source, skillsets and targeted index to build an indexer
    parameters = IndexingParameters(configuration={"parsingMode": "jsonArray"})
    indexer = SearchIndexer(
        name="hotel-data-indexer",
        data_source_name=ds_name,
        target_index_name=ind_name,
        skillset_name=skillset_name,
        parameters=parameters
    )

    indexer_client = SearchIndexerClient(service_endpoint, AzureKeyCredential(key))
    indexer_client.create_indexer(indexer) # create the indexer

    # to get an indexer
    result = indexer_client.get_indexer("hotel-data-indexer")
    print(result)

    # To run an indexer, we can use run_indexer()
    indexer_client.run_indexer(result.name)

    # Using create or update to schedule an indexer

    schedule = IndexingSchedule(interval=datetime.timedelta(hours=24))
    result.schedule = schedule
    updated_indexer = indexer_client.create_or_update_indexer(result)

    print(updated_indexer)

    # get the status of an indexer
    indexer_client.get_indexer_status(updated_indexer.name)
Ejemplo n.º 4
0
 def test_get_indexer_status(self, api_key, endpoint, index_name, **kwargs):
     client = SearchIndexerClient(endpoint, AzureKeyCredential(api_key))
     indexer = self._prepare_indexer(endpoint, api_key)
     result = client.create_indexer(indexer)
     status = client.get_indexer_status("sample-indexer")
     assert status.status is not None