Проектирование клиента с Manticore Search, способы?

Как лучше реализовать связь в базой данных (pdo, api…)?

2 симпатии

Это решать вам.

require_once __DIR__ . '/vendor/autoload.php';
use Manticoresearch\Client;
use Manticoresearch\Search;
$config = ['host' => '127.0.0.1', 'port' => '9312']; 
$client = new Client($config);
$search = new Search($client);
		 
$search->setIndex('index');
$search->limit(500);

Или:

use Foolz\SphinxQL\SphinxQL;
use Foolz\SphinxQL\Drivers\Mysqli\Connection;

// create a SphinxQL Connection object to use with SphinxQL
$conn = new Connection();
$conn->setParams(array('host' => '127.0.0.1', 'port' => 9306));

$query = (new SphinxQL($conn))->select('column_one', 'colume_two')
    ->from('index_ancient', 'index_main', 'index_delta')
    ->match('comment', 'my opinion is superior to yours')
    ->where('banned', '=', 1);

$result = $query->execute();

Или:

$pdo = new PDO('mysql:host=127.0.0.1;port=9306');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = $pdo->query("SELECT ...");

Или:

$sql = mysqli_connect("127.0.0.1:9306", "", "", "");
if (mysqli_connect_errno())
   die("failed to connect to Sphinx: " . mysqli_connect_error());

Но я бы последний метод точно не делал.

Есть еще варианты. Зависит, что вы хотите сделать более конкретно.

3 симпатии