Страницы

Поиск по вопросам

воскресенье, 8 декабря 2019 г.

Как использовать Sphinx в Yii2 + PostgreSQL?

#php #yii2 #postgresql #yii #sphinx


Не до конца понимаю, возможно ли использование Sphinxsearch в Yii2 в качестве поискового
движка в связке с PostgreSQL? В экстеншене: Yii2-sphinx говорится про MySQL, но про
PgSQL ни слова. Сам экстеншен устанавливается, и конфиг вида:

'components' => [
    'sphinx' => [
        'class' => 'yii\sphinx\Connection',
        'dsn' => 'pgsql:host=localhost;port=5432;dbname=testdb',
        'username' => 'yii',
        'password' => '********',
    ],
]


ошибок не вызывает, даже при отсутствии Sphinx на сервере.
В связи с вышеизложенным возникает ряд вопросов:


Подходит ли данный экстеншен для использования его с PgSQL. Если да, где про это
можно почитать, или посмотреть реальные примеры (Yii2 + PgSQL + Sphinx)?
Стоит ли использовать его, или лучше что-то другое, вроде: pg-sphinx?
Стоит ли вообще его использовать, быть может есть решения быстрее и проще?


Стэк: Debian, Nginx, FPM, PHP7, Yii2, PgSQL

UPD Вопрос всё ещё актуален! :)
    


Ответы

Ответ 1



Первая фраза по ссылке yii2-sphinx в блоке Configuration, говорит о том, что используется только протокол MySQL: This extension interacts with Sphinx search daemon using MySQL protocol and SphinxQL query language. По идее, Вы можете попробовать добавить 'pgsql' => 'yii\sphinx\Schema' в массив $schemaMap, в файле Connection.php (в основной директории модуля), и, скорее всего простые запросы даже будут отрабатывать, но, как только будет более-менее сложный запрос, гарантирую, что Вы получите ошибку. Лучшим вариантом будет использование расширения pg-sphinx или похожее, если Вам действительно нужен Sphinx. В противном случае, попробуйте обычный полнотекстовый поиск, возможно, для ваших целей хватит и его.

Комментариев нет:

Отправить комментарий