1
0
Fork 0
mirror of https://github.com/Oreolek/ifhub.club.git synced 2024-06-17 07:10:48 +03:00

fix + Sphinx config

This commit is contained in:
Mzhelskiy Maxim 2009-05-11 08:20:55 +00:00
parent 78ba94e308
commit 0f58a5f2d6
3 changed files with 199 additions and 11 deletions

View file

@ -1,3 +1,20 @@
/*-------------------------------------------------------
*
* LiveStreet Engine Social Networking
* Copyright © 2008 Mzhelskiy Maxim
*
*--------------------------------------------------------
*
* Official site: www.livestreet.ru
* Contact e-mail: rus.engine@gmail.com
*
* GNU General Public License, version 2:
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
*
---------------------------------------------------------
*/
LiveStreet 0.3
УСТАНОВКА
@ -8,10 +25,15 @@ LiveStreet 0.3
5. Готово! По умолчанию создается учетная запись администратора: admin admin
ОБНОВЛЕНИЕ
Если у вас используется стандартная верси LiveStreet 0.2 без изменения кода и шаблонов, то для обновления достаточно переписать файлы движка поверх старых, предварительно удалив из текущей вашей версии каталоги classes, config, include и templates. Это позволит избежать появления "мусора" в виде старых файлов движка. Далее необходимо выполнить скрипт update/update_0.2_to_0.3.php для конвертации структуры БД, выполнять его нужно только один раз! В заключение необходимо повторно выполнить настройки в файлах config/config.db.php и config/config.php. Перед удалением/переписыванием старых фалов, а также выполнением срипта апдейта ОБЯЗАТЕЛЬНО сохраните в надежное место полную копию вашего сайта и БД! Это поможет изюежать многих проблем в случаи неуспешного обновления.
Если вы вносили какие-либо изменения в файлы движка(кроме config.php и config.db.php), то вам необходимо вручную обновлять используя SVN проекта http://trac.assembla.com/livestreet/timeline/, начиная от 82 ревизии.
1.
a) Если у вас используется стандартная верси LiveStreet 0.2 без изменения кода и шаблонов, то для обновления достаточно переписать файлы движка поверх старых, предварительно удалив из текущей вашей версии каталоги classes, config, include и templates. Это позволит избежать появления "мусора" в виде старых файлов движка. Настройте параметры БД в файле /config/config.db.php. Далее необходимо выполнить скрипт update/update_0.2_to_0.3.php для конвертации структуры БД, выполнять его нужно только один раз! В заключение необходимо повторно выполнить настройки в файлах config/config.db.php и config/config.php. Перед удалением/переписыванием старых фалов, а также выполнением срипта апдейта ОБЯЗАТЕЛЬНО сохраните в надежное место полную копию вашего сайта и БД! Это поможет изюежать многих проблем в случаи неуспешного обновления.
b) Если вы вносили какие-либо изменения в файлы движка(кроме config.php и config.db.php), то вам необходимо вручную обновлять используя SVN проекта http://trac.assembla.com/livestreet/timeline/, начиная от 82 ревизии. Далее необходимо выполнить скрипт update/update_0.2_to_0.3.php для конвертации структуры БД, выполнять его нужно только один раз!
2. Обязательно удалите каталог /update/!
3. Удалите содержимое каталога /templates/compiled/
4. Если используется кеширование, то необходимо сбросить кеш. Для этого необходимо почистить каталог, который указан в настройках для хранения файлов кеша, либо перезапустить memcached, если используется кеширование типа memory.
ВОЗМОЖНОСТИ ПОИСКА ПО САЙТУ
LiveStreet 0.3 поддерживает полнотекстовый поиск по сайту с использованием поискового движка Sphinx.
Соответственно если нужен поиск на сайте, то необходимо установить и настроить на сервере Sphinx, пример конфигурационного файла(sphinx.conf) находится в каталоге /update/
По всем вопросам обращайтесь на сайт проекта http://livestreet.ru

View file

@ -16,6 +16,7 @@
*/
error_reporting(E_ALL);
ini_set('display_errors', 1);
define('LS_VERSION','0.3');
define('SYS_HACKER_CONSOLE',false);
header('Content-Type: text/html; charset=utf-8');
@ -38,15 +39,15 @@ $oUser=$oRouter->User_GetUserCurrent();
if (Router::GetIsShowStats() and $oUser and $oUser->isAdministrator()) {
?>
<fieldset>
<legend>Статистика выполнения</legend>
<legend>Statistics performance</legend>
<table>
<tr align="top">
<td align="top">
<ul>
<li>
<b>MySql</b> <br>
&nbsp;&nbsp;&nbsp;запросов: <?echo($aStats['sql']['count']);?><br>
&nbsp;&nbsp;&nbsp;время: <?echo($aStats['sql']['time']);?><br><br><br>
&nbsp;&nbsp;&nbsp;query: <?echo($aStats['sql']['count']);?><br>
&nbsp;&nbsp;&nbsp;time: <?echo($aStats['sql']['time']);?><br><br><br>
</li>
</ul>
</td>
@ -54,10 +55,10 @@ if (Router::GetIsShowStats() and $oUser and $oUser->isAdministrator()) {
<ul>
<li>
<b>Cache</b> <br>
&nbsp;&nbsp;&nbsp;запросов: <?echo($aStats['cache']['count']);?><br>
&nbsp;&nbsp;&nbsp;query: <?echo($aStats['cache']['count']);?><br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; set: <?echo($aStats['cache']['count_set']);?><br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; get: <?echo($aStats['cache']['count_get']);?><br>
&nbsp;&nbsp;&nbsp;время: <?echo(round($aStats['cache']['time'],5));?>
&nbsp;&nbsp;&nbsp;time: <?echo(round($aStats['cache']['time'],5));?>
</li>
</ul>
</td>
@ -65,8 +66,8 @@ if (Router::GetIsShowStats() and $oUser and $oUser->isAdministrator()) {
<ul>
<li>
<b>PHP</b> <br>
&nbsp;&nbsp;&nbsp;загрузка модулей:<?echo($aStats['engine']['time_load_module']);?><br>
&nbsp;&nbsp;&nbsp;общее время:<?echo(round($t2-$t1,3));?><br><br><br>
&nbsp;&nbsp;&nbsp;time load modules:<?echo($aStats['engine']['time_load_module']);?><br>
&nbsp;&nbsp;&nbsp;full time:<?echo(round($t2-$t1,3));?><br><br><br>
</li>
</ul>
</td>

165
update/sphinx.conf Normal file
View file

@ -0,0 +1,165 @@
## Конфигурационный файл Sphinx-а для индексации LiveStreet
#######################
#
# Описываем индексы
#
#######################
# Источник-родитель для всех остальных источников. Здесь указываются параметры доступа
# к базе данных сайта
source lsParentSource
{
type = mysql
sql_host = localhost
sql_user = user
sql_pass = pass
sql_db = social
sql_port = 3306
# Для ускорения работы прописываем путь до MySQL-го UNIX-сокета (чтобы
# операции с БД происходили не через TCP/IP стек сервера)
sql_sock = /var/run/mysqld/mysqld.sock
mysql_connect_flags = 32 # 32- включение сжатие при обмене данными с БД
# Включам нужную кодировку соединения и выключаем кеш запросов
sql_query_pre = SET NAMES utf8
sql_query_pre = SET SESSION query_cache_type=OFF
}
# Источник топиков
source topicsSource : lsParentSource
{
# запрос на получения данных топиков
sql_query = \
SELECT t_fast.topic_id, t_fast.topic_title, UNIX_TIMESTAMP(t_fast.topic_date_add) as topic_date_add, \
tc.topic_text, t_fast.topic_publish \
FROM prefix_topic as t_fast, prefix_topic_content AS tc \
WHERE t_fast.topic_id=tc.topic_id AND t_fast.topic_id>=$start AND t_fast.topic_id<=$end
# запрос для дробления получения топиков на неколько итераций
sql_query_range = SELECT MIN(topic_id),MAX(topic_id) FROM prefix_topic
# сколько получать объектов за итерацию
sql_range_step = 1000
# Указываем булевый атрибут критерия "топик опубликован". Для возможности указания этого критерия при поиске
sql_attr_uint = topic_publish
# Атрибут даты добавления, типа "время"
sql_attr_timestamp = topic_date_add
# мульти-аттрибут "теги топика"
sql_attr_multi = uint tag from query; SELECT topic_id, topic_tag_id FROM prefix_topic_tag
sql_ranged_throttle = 0
}
# Источник комментариев
source commentsSource : lsParentSource
{
sql_query = \
SELECT comment_id, comment_text, UNIX_TIMESTAMP(comment_date) as comment_date, comment_delete \
FROM prefix_topic_comment \
WHERE comment_id>=$start AND comment_id<=$end
sql_query_range = SELECT MIN(comment_id),MAX(comment_id) FROM prefix_topic_comment
sql_range_step = 5000
sql_attr_uint = comment_delete
sql_attr_timestamp = comment_date
}
#######################
#
# Описываем индексы
#
#######################
index topicsIndex
{
# Источник, который будет хранить данный индекса
source = topicsSource
path = /var/lib/data/topicIndex
# Тип хранения аттрибутов
docinfo = extern
mlock = 0
# Используемые морфологические движки
morphology = stem_enru
# Кодировака данных из источника
charset_type = utf-8
# Из данных источника HTML-код нужно вырезать
html_strip = 1
html_remove_elements = style, script, code
}
# Индекс комментариев
index commentsIndex
{
source = commentsSource
path = /var/lib/data/commentsIndex
docinfo = extern
mlock = 0
morphology = stem_enru
charset_type = utf-8
# Из данных источника HTML-код нужно вырезать
html_strip = 1
html_remove_elements = style, script, code
}
#######################
#
# Настройки индексатора
#
#######################
indexer
{
# Лимит памяти, который может использавать демон-индексатор
mem_limit = 32M
}
#######################
#
# Настройка демона-поисковика
#
#######################
searchd
{
# Адрес, на котором будет прослушиваться порт
address = 127.0.0.1
# Ну и собственно номер порта демона searchd
port = 3312
# Лог-файл демона
log = /var/log/sphinx/searchd.log
# Лог поисковых запросов. Если закомментировать,то логировать поисковые строки не будет
query_log = /var/log/sphinx/query.log
# Время в секундах, которое ждет демон при обмене данными с клиентом. По исчерпании происходит разрыв коннекта
read_timeout = 5
# Максимальное количество одновременно-обрабатываемых запросов. 0 означает дофига, а точнее без ограничения
max_children = 30
# Файл, в который сохраняется PID-процесса при запуске
pid_file = /var/log/sphinx/searchd.pid
}