Auto-create necessary folders for Sphinx. Mod Readme.md

This commit is contained in:
jar3b 2016-03-12 21:00:30 +03:00
parent a5f4344ecb
commit 0d9cfbfd3b
2 changed files with 14 additions and 6 deletions

View File

@ -135,8 +135,8 @@ _Внимание_! Только Python 2.7+ (на 3+ не тестировал)
## Настройка
### Первоначальная настройка базы данных
1. Настроим конфиг, для этого необходимо изменить параметры в Вашем wsgi-entrypoint (в моем случае _passenger_wsgi.py_):
прописать параметры доступа к базе, демону Sphinx и путь, куда будут сохраняться данные Sphinx; по этому пути
дополнительно необходимо создать 3 папки: log, run и data. Все доступные настройки можно увидеть в _aore/config/common.py_
в строке `from config import *` измените _config_ на имя Вашего конфигурационного файла (создается рядом с wsgi app),
пример конфига находится в файле _config.example.py_.
2. Создадим базу:
- из архива `sudo -u phias python manage.py -b create -s /tmp/fias_xml.rar`
- из директории `sudo -u phias python manage.py -b create -s /tmp/fias_xml_unpacked`
@ -144,14 +144,14 @@ _Внимание_! Только Python 2.7+ (на 3+ не тестировал)
- Также, можно указать конкретную версию ФИАС олько_ при http загрузке, с ключом `--update-version <num>`, где num -
номер версии ФИАС, все доступные версии можно получить, выполнив `manage.py -v`.
**Внимание**! Если Вы инициализируете БД из архива или директории, для последующего корректного обновления необходимо
прописать номер версии ФИАС, которую Вы только что установили, в базе приложения, таблица CONFIG
Внимание! Если Вы инициализируете БД из архива или директории, при создании или обновлении базы у Вас будет
запрошен номер устанавливаемой версии ФИАС.
3. Проиндексируем Sphinx:
- Windows: `python manage.py -c -i C://sphinx//indexer.exe -o C://sphinx//sphinx.conf`
- Windows: `python manage.py -c -i C:\sphinx\bin\indexer.exe -o C:\sphinx\sphinx.conf`
- Debian: `sudo python manage.py -c -i indexer -o /usr/local/sphinx/etc/sphinx.conf`
4. Затем запустим searchd:
- Windows:
- Устанавливаем службу: `C:\Sphinx\bin\searchd --install --config C:\Sphinx\sphinx.conf.in --servicename sphinxsearch`
- Устанавливаем службу: `C:\Sphinx\bin\searchd --install --config C:\Sphinx\sphinx.conf --servicename sphinxsearch`
- и запускаем: `net start sphinxsearch`
- Debian: `sudo searchd --config /usr/local/sphinx/etc/sphinx.conf`
5. Настроим WSGI server, я использую nginx + passenger (см. файл passenger_wsgi.py). Вы можете использовать любое

View File

@ -21,6 +21,14 @@ class SphinxHelper:
if not os.path.exists(folders.temp):
os.makedirs(folders.temp)
# оздаем 3 папки для Сфинкса
if not os.path.exists(sphinx_conf.var_dir+'/run'):
os.makedirs(sphinx_conf.var_dir+'/run')
if not os.path.exists(sphinx_conf.var_dir+'/log'):
os.makedirs(sphinx_conf.var_dir+'/log')
if not os.path.exists(sphinx_conf.var_dir+'/data'):
os.makedirs(sphinx_conf.var_dir+'/data')
def configure_indexer(self, indexer_binary, config_filename):
logging.info("Start configuring Sphinx...")
self.index_binary = indexer_binary