Написал пакет для composer, который содержит набор классов для работы с выборками из индексов sphinx через ORM D7 в привычном, для битрикс-программиста, виде.
Для начала использования нужно сделать несколько шагов:
За подробностями в .
Для начала использования нужно сделать несколько шагов:
- Понятное дело, установить пакет. Командой composer require olegpro/bitrix-sphinx
- В файле /bitrix/.settings.php в секцию connections добавить новое подключение с параметрами sphinx
- Описать ORM-класс сущность нужного индекса
- Можно использовать!
<?php
use Bitrix\Main\Application;
use Bitrix\Main\Entity\ExpressionFieldd;
require($_SERVER['DOCUMENT_ROOT'] . '/bitrix/header.php');
Application::getConnection(SampleTable::getConnectionName())->startTracker(true);
$iterator = SampleTable::getList([
'select' => [
'*',
new ExpressionField('weight', 'WEIGHT()'),
],
'match' => 'книга',
'filter' => [
'=available' => 1,
],
'count_total' => true,
'offset' => 0,
'limit' => 10,
'order' => [
'weight' => 'DESC',
],
'option' => [
'max_matches' => 50000,
],
]);
echo '<pre>';print_r($iterator->getTrackerQuery()->getSql());echo '</pre>';
echo '<pre>';print_r($iterator->fetchAll());echo '</pre>'; |
За подробностями в .