sphinx.conf под LiveStreet 0.4
Для тех, кто уже начал обживать свои проекты на ЛайвСтрит 0.4 наверняка вылезла проблема отсутствия конфигурационного файла для поисквого бота сфинкс — пожалуйста!
Конфиг файл для новой версии Sphinx 0.9.9-release
## Конфигурационный файл Sphinx-а для индексации LiveStreet
#######################
#
# Описываем индексы
#
#######################
# Источник-родитель для всех остальных источников. Здесь указываются параметры доступа
# к базе данных сайта
source lsParentSource
{
type = mysql
sql_host = localhost
sql_user = user
sql_pass = password
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_comment \
WHERE target_type='topic' AND comment_id>=$start AND comment_id<=$end
sql_query_range = SELECT MIN(comment_id),MAX(comment_id) FROM prefix_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
{
# Адрес, на котором будет прослушиваться порт
listen = 127.0.0.1:3312
# Ну и собственно номер порта демона 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
}
Конфиг файл для новой версии Sphinx 0.9.9-release
12 комментариев
Имеется возможность для скачивания svn версии (если вас это интересует), а вообще о том где скачать читать на странице
в условия WHERE надо добавить target_type='topic'
т.к. иначе будет искаться в том числе и по личным сообщениям (что само по себе очень стремно) и в случае найденного, т.к. у объекта Talk нет метода getBlog(), будет ругаться на это (или не будет, если вывод ошибок отключен, но всеравно поиск по комментам работать не будет).
Вообщем, запрос должен быть такой:
чтобы этот sphinx работал
какие файлы и куда нужно загрузить на сайте?
Под 0.3.1 не пашет, префикс в настройках поиска LS site2_ прописал, изменения для Sphinx.class.php для версии 0.9.9 внес… но чего то не хватает… Подскажите куда копнуть люди. Обновить тот сайт до 0.4.2 к сожалению не могу. Где то у меня ошибка, подскажите пожалуйста кто разбирается.
но на сайте с LS 0.3.1 выдает Удивительно, но поиск не дал результатов. Помогите светлые головы, что не так делаю?
для ptzonline так
site2_ — это я просто для примера написал.
Максим, можно я сюда весь свой sphinx.conf напишу? Может поможет кто настроить…
и 2 sql как я понимаю нужны, чтобы по отдельности получать данные при необходимости из источника топиков или комментов. Ткните носом методы пожалуйста, в которых это устанавливается.