delete_index_field ( $domain_name, $index_field_name, $opt )

Removes an IndexField from the search domain.

Access

public

Parameters

Parameter

Type

Required

Description

$domain_name

string

Required

A string that represents the name of a domain. Domain names must be unique across the domains owned by an account within an AWS region. Domain names must start with a letter or number and can contain the following characters: a-z (lowercase), 0-9, and - (hyphen). Uppercase letters and underscores are not allowed. [Constraints: The value must be between 3 and 28 characters, and must match the following regular expression pattern: [a-z][a-z0-9-]+]

$index_field_name

string

Required

A string that represents the name of an index field. Field names must begin with a letter and can contain the following characters: a-z (lowercase), 0-9, and _ (underscore). Uppercase letters and hyphens are not allowed. The names “body”, “docid”, and “text_relevance” are reserved and cannot be specified as field or rank expression names. [Constraints: The value must be between 1 and 64 characters, and must match the following regular expression pattern: [a-z][a-z0-9_]*]

$opt

array

Optional

An associative array of parameters that can have the following keys:

  • curlopts - array - Optional - A set of values to pass directly into curl_setopt(), where the key is a pre-defined CURLOPT_* constant.
  • returnCurlHandle - boolean - Optional - A private toggle specifying that the cURL handle be returned rather than actually completing the request. This toggle is useful for manually managed batch requests.

Returns

Type

Description

CFResponse

A CFResponse object containing a parsed HTTP response.

Examples

Create and delete an index field.

// Instantiate the class
$search = new AmazonCloudSearch();

$domain_name = 'my-domain';
$index_field = 'test_integer';

/*%**************************************************************%*/
// Create a new CloudSearch domain

echo '# Creating a new CloudSearch domain' . PHP_EOL;
$response = $search->create_domain($domain_name);

// Check for success...
if ($response->isOK())
{
	echo 'Kicked off the creation of the CloudSearch domain...' . PHP_EOL;
}
else
{
	print_r($response);
}

echo PHP_EOL;

/*%**************************************************************%*/
// Define index fields

echo '# Defining a new CloudSearch index field' . PHP_EOL;
$response = $search->define_index_field($domain_name, array(
	'IndexFieldName' => $index_field,
	'IndexFieldType' => 'uint',
));

// Check for success...
if ($response->isOK())
{
	echo 'Defined an index field...' . PHP_EOL;
}
else
{
	print_r($response);
}

echo PHP_EOL;

/*%**************************************************************%*/
// Describe index fields

echo "# Describing the CloudSearch index fields, \"${domain_name}\"" . PHP_EOL;
$response = $search->describe_index_fields($domain_name);

print_r($response->body->IndexFieldName()->map_string());

echo PHP_EOL;

/*%**************************************************************%*/
// Index documents

echo "# Indexing documents, \"${domain_name}\"" . PHP_EOL;
$response = $search->index_documents($domain_name);

print_r($response->body->member()->map_string());

echo PHP_EOL;

/*%**************************************************************%*/
// Delete index fields

echo '# Deleting the CloudSearch index field...' . PHP_EOL;
$response = $search->delete_index_field($domain_name, $index_field);

// Check for success...
if ($response->isOK())
{
	echo 'CloudSearch index field was deleted successfully.' . PHP_EOL;
}
else
{
	print_r($response);
}

echo PHP_EOL;

/*%**************************************************************%*/
// Delete the CloudSearch domain

echo '# Deleting the CloudSearch domain...' . PHP_EOL;
$response = $search->delete_domain($domain_name);

// Check for success...
if ($response->isOK())
{
	echo 'CloudSearch domain was deleted successfully.' . PHP_EOL;
}
else
{
	print_r($response);
}

Source

Method defined in services/cloudsearch.class.php | Toggle source view (8 lines) | View on GitHub

public function delete_index_field($domain_name, $index_field_name, $opt = null)
{
    if (!$opt) $opt = array();
    $opt['DomainName'] = $domain_name;
    $opt['IndexFieldName'] = $index_field_name;
    
    return $this->authenticate('DeleteIndexField', $opt);
}

Copyright © 2010–2013 Amazon Web Services, LLC


Feedback