コード例 #1
1
<?php

ini_set("display_errors", true);
require_once __DIR__ . '/../vendor/autoload.php';
$client = new \Elastica\Client();
$search = new Elastica\Search($client);
$search->addIndex('comicbook')->addType('superhero');
$query = new Elastica\Query();
$query->setSize(10)->setSort(['name' => 'asc']);
$searchText = "Kent";
$stringQuery = new Elastica\Query\QueryString($searchText);
$query->setQuery($stringQuery);
$query->setHighlight(array('pre_tags' => array('<strong>'), 'post_tags' => array('</strong>'), 'fields' => array('name' => array('force_source' => true), 'summary' => array('force_source' => true))));
$search->setQuery($query);
$resultSet = $search->search();
echo 'Search "' . $searchText . '"<br />' . PHP_EOL;
echo 'Founded ' . $resultSet->getTotalHits() . ' records in ' . $resultSet->getTotalTime() . 'ms<br /><br />' . PHP_EOL;
foreach ($resultSet as $result) {
    $data = $result->getData();
    foreach ($result->getHighlights() as $key => $value) {
        $data[$key] = join(PHP_EOL, $value);
    }
    echo $data['name'] . ' - ' . $data['summary'] . "<br /><br />" . PHP_EOL;
}