update_synonym_options ( $domain_name, $synonyms, $opt )

Configures a synonym dictionary for the search domain. The synonym dictionary is used during indexing to configure mappings for terms that occur in text fields. The maximum size of the synonym dictionary is 100KB.

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-]+]

$synonyms

string

Required

Maps terms to their synonyms, serialized as a JSON document. The document has a single object with one property “synonyms” whose value is an object mapping terms to their synonyms. Each synonym is a simple string or an array of strings. The maximum size of a stopwords document is 100KB. Example: { "synonyms": {"cat": ["feline", "kitten"], "puppy": "dog"} }

$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

Update and describe the synonym options.

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

$domain_name = 'my-domain';
$synonyms = '{"synonyms": {"cat": ["feline", "kitten"], "puppy": "dog"}}';

/*%**************************************************************%*/
// 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;

/*%**************************************************************%*/
// Update synonym options

sleep(1);

echo "# Update the synonym options, \"${domain_name}\"" . PHP_EOL;
$response = $search->update_synonym_options($domain_name, $synonyms);

// Check for success...
if ($response->isOK())
{
	echo 'Updated the synonym options...' . PHP_EOL;
}
else
{
	print_r($response);
}

echo PHP_EOL;

/*%**************************************************************%*/
// Describe synonym options

echo "# Describing the synonym options, \"${domain_name}\"" . PHP_EOL;
$response = $search->describe_synonym_options($domain_name);

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

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 update_synonym_options($domain_name, $synonyms, $opt = null)
{
    if (!$opt) $opt = array();
    $opt['DomainName'] = $domain_name;
    $opt['Synonyms'] = $synonyms;
    
    return $this->authenticate('UpdateSynonymOptions', $opt);
}

Copyright © 2010–2013 Amazon Web Services, LLC


Feedback