it-blaster / sphinx-search-propel-bundle
Symfony2. Sphinx search this site with the use Propel ORM.
Installs: 145
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 6
Forks: 0
Open Issues: 0
Type:symfony-bundle
Requires
- propel/propel1: ~1.6
- symfony/symfony: >=2.2
This package is not auto-updated.
Last update: 2024-10-26 18:38:43 UTC
README
Symfony2. Sphinx search this site with the use Propel ORM
Installation
Добавьте ItBlasterSphinxSearchPropelBundle в composer.json
:
{ "require": { "it-blaster/sphinx-search-propel-bundle": "dev-master" }, }
Теперь запустите композер, чтобы скачать бандл командой:
$ php composer.phar update it-blaster/sphinx-search-propel-bundle
Композер установит бандл в папку проекта vendor/it-blaster/sphinx-search-propel-bundle
.
Далее подключите бандл в ядре AppKernel.php
:
<?php // app/AppKernel.php public function registerBundles() { $bundles = array( // ... new ItBlaster\SphinxSearchPropelBundle\ItBlasterSphinxSearchPropelBundle(), ); }
В файл app/config/config.yml
добавьте настройки бандла:
it_blaster_sphinx_search_propel: searchd: # Хост для подключения к демону Sphinxc host: localhost # Порт для подключения к демону Sphinx port: %sphinx_port% # Файл сокета, если нужно подключаться к демону через сокет #socket: /path/to/socket.file indexes: # Список индексов Sphinx (ключ) и имен Entity (значение) # которые будут использоваться при поиске newsIndex: "App\MyBundle\Model\\NewsQuery"
В секции indexes
будут перечислены все сущности, по которым будет осуществляться поиск.
Скопируйте из папки бандла ap/config
файл sphinx.conf.dist
в папку проекта app/config/sphinx.conf
и пропишите нужные конфиги для индексов. В файле sphinx.conf.dist
прописаны конфиги индексов для сущности Новости.
Usage
Добавьте в .gitigmore
папку app/data/*
, в ней будут храниться индексы sphinx'а. Сам sphinx нужные ему папки создать не может, поэтому создаём их руками:
mkdir app/data && mkdir app/data/sphinx && mkdir app/data/sphinx/indexes && mkdir app/logs/sphinx && chmod -R 777 app/data app/logs/
Команды для работы с sphinx'ом:
- Проиндексировать: indexer --config app/config/sphinx.conf --All --rotate
- Запустить поиск: searchd -c app/config/sphinx.conf
app/config/sphinx.conf
- путь до файла с конфигом sphinx'а
Вначале выполняем 1ую команду. Если всё ок (т.е. нет ошибок в консоли), выполняем 2ую.