Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save acidChrist/9372655 to your computer and use it in GitHub Desktop.
Save acidChrist/9372655 to your computer and use it in GitHub Desktop.
/**
* $q query term
* 'field' => 'suggest'> Suggest is the fieldname used during indexing
* see http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-suggesters-completion.html
*/
$elasticaClient = new \Elastica\Client();
$elasticaIndex = $elasticaClient->getIndex('myindex');
$search = new \Elastica\Search($elasticaClient);
$suggest = new \Elastica\Suggest\Term();
$suggest->addTerm('suggest', ['text' => $q, 'completion' => ['field' => 'suggest']]);
$search->addIndex($elasticaIndex);
$search->addSuggest($suggest);
$result = $search->search();
if ($result->countSuggests()) {
$suggestions = [];
foreach ($result->getSuggests()['suggest']['options'] as $suggestion) {
$suggestions[] = $suggestion['text'];
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment