Расширенный поиск

Оригинальная задача состоит в том, чтобы была возможность делать выборку контента.

Нужна возможность поиска по набору тегов, реализация не критична — вложенный поиск или же мгновенная выборка.

Кто возьмется?

[РЕШЕНО] Поиск по контенту плагинов

Здравствуйте,
делаю сейчас поиск по контенту, который генерируется в моих плагинах. Индексирование в сфинксе сделал, а вот как сделать, чтобы при поиске появлялись нужные мне вкладочки пока не понял.

Подскажите пожалуйста.

UPD Сам разобрался:
1. Нужно расширить ActionSearch:
— Добавить свои типы в sTypesEnabled
— Добавить обработчики вывода результатов
2. В файле шаблона \actions\ActionSearch\results.tpl добавить языковые константы для своих типов

Оптимизация индексирования Shpinx для LiveStreet, исправляем древнюю проблему с закрытыми блогами

Суть проблемы — LS ищет и находит сфинксом заметки и комментарии из всех блогов, независимо от того имеете вы к ним доступ или нет.

Чинится это просто:
  1. вносим в поисковый индекс id закрытого блога к которому относится топик или комментарий, либо 0 если этот блог не закрытый.
  2. передаём в поиск id текущего пользователя
  3. находим список закрытых блогов в которые имеет доступ текущий пользователь.
  4. используем этот список расширенный нулём (что добавит все не закрытые блоги в результаты поиска для любого пользователя) со стандартной возможностью фильтрации Сфинкса


Читать дальше →

Нужен ли поиск в личке по комментариям?

Дорогие друзья, столкнулся с тем, что оказывается встроенный поиск по личным сообщениям ищет слова только в тексте самих сообщений, при этом в комментариях к личным сообщениям он ни чего не ищет.

Вас устраивает такое положение дел?
Кто как решает эту проблему?

Плагин «Поиск по топикам, комментариям, людям, блогам и тегам (Simple Search and Auto Completer)»


Именно так теперь называется плагин «Поиск по топикам, комментариям и людям (Simple Search and Auto Completer)»

НОВОЕ


  1. исправлена небольшая визуальная неточность в блоке поиска по людям для шаблона девелопер
  2. в конфиге добавлена возможность задавать список типов блогов чтобы производить поиск по топикам, которые созданы другими плагинами и имеют свой тип блога (например, блоги с подразделами от aceblogextender, плагин Компании от gran'а)
  3. добавлены пользовательские словари, которые находятся в папке dictionaries плагина: stopwords.txt нужен для исключения ненужных слов из поиска, wordforms.txt нужен для дополнения поискового запроса синонимами. Формат этих словарей полностью совместим с форматом Сфинкса
  4. добавлена опция показа ссылок поиска в других ПС по сайту если ничего не найдено средствами встроенного поиска (ссылки на Гугл, Яндекс и Бинг)
  5. добавлен OpenSearch — открытая технология, которая позволяет добавлять поиск по сайту как поисковый плагин для браузера.
  6. добавлен новый поиск по описаниям блогов
  7. теперь если пользователь авторизирован, поиск дополнительно проводится в закрытых блогах, к которым у пользователя есть доступ (раньше поиск в закрытых блогах не проводился)
  8. добавлена возможность поиска внутри блога. В форме поиска можно выбрать блог, в котором нужно искать топики. Также на страницах блогов добавлена форма поиска по этому блогу.
  9. добавлен расширенный поиск по тегам с возможностью выбора части тега, например, середины
  10. возможность поиска по тегу в блоге
  11. интегрирован плагин «Tags like full», который позволяет подбирать теги набирая даже их часть (не обязательно начало тега) в автокомплитере
  12. добавлена возможность поиска по избранному пользователя для топиков, комментариев и топиков за тегом

Читать дальше →

Настройки SphinxSearch 2.0.4 поставленного в Ubuntu 12.04 командой apt-get

Я ставил Sphinx на Ubuntu 12.04. Использую облачный сервер Selectel, поэтому все операции выполнялись под root.
  1. В Ubuntu SphinxSearch 2.0.4 ставится простой командой
    apt-get install sphinxsearch

  2. Правим файл /etc/default/sphinxsearch и ставим START=yes
  3. Создаем файл /etc/sphinxsearch/sphinx.conf
    Я изначально взял отсюда: Sphinx. Установка и первичная настройка, и поправил пути, а также заменил deprecated address на listen.

    Также оказалось что таблица topic_comment теперь называется comment, поправил это тоже.
    ## Конфигурационный файл Sphinx-а для индексации Живой улицы
    
    #######################
    #
    # Описываем индексы
    #
    #######################
    
    # Источник-родитель для всех остальных источников. Здесь указываются параметры доступа 
    # к базе данных сайта
    source lsParentSource
    {
    	type		= mysql
    	sql_host	= localhost
    	sql_user	= root
    	sql_pass	= 
    	sql_db		= livestreet
    	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_bool		= 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 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_bool		= comment_delete
    	sql_attr_timestamp	= comment_date
    }
    
    #######################
    #
    # Описываем индексы
    #
    #######################
    
    index topicsIndex
    {
    	# Источник, который будет хранить данный индекса
    	source			= topicsSource
    	path			= /var/lib/sphinxsearch/data/lstopics
    
    	# Тип хранения аттрибутов
    	docinfo			= extern
    
    	mlock			= 0
    
    	# Используемые морфологические движки
    	morphology		= stem_enru, soundex, metaphone
    
    	# Кодировака данных из источника	
    	charset_type		= utf-8
    
    
    	# Из данных источника HTML-код нужно вырезать
    	html_strip				= 1
    }
    
    # Индекс комментариев
    index commentsIndex
    {
    	source			= commentsSource
    	path			= /var/lib/sphinxsearch/data/lscomments
    
    	docinfo			= extern
    
    	mlock			= 0
    
    	morphology		= stem_enru, soundex, metaphone
    
    	charset_type		= utf-8
    }
    
    #######################
    #
    # Настройки индексатора
    #
    #######################
    
    
    indexer
    {
    	# Лимит памяти, который может использавать демон-индексатор
    	mem_limit			= 32M
    }
    
    #######################
    #
    # Настройка демона-поисковика
    #
    #######################
    
    searchd
    {
            # Адрес, на котором будет прослушиваться порт
            listen                  = 127.0.0.1:3312
    
    	# Лог-файл демона
    	log					= /var/log/sphinxsearch/searchd.log
    
    	# Лог поисковых запросов. Если закомментировать,то логировать поисковые строки не будет
    	query_log			= /var/log/sphinxsearch/query.log
    
    	# Время в секундах, которое ждет демон при обмене данными с клиентом. По исчерпании происходит разрыв коннекта
    	read_timeout		= 5
    
    	# Максимальное количество одновременно-обрабатываемых запросов. 0 означает дофига, а точнее без ограничения
    	max_children		= 30
    
    	# Файл, в который сохраняется PID-процесса при запуске
    	pid_file			= /var/run/sphinxsearch/searchd.pid
    }

  4. Правим настройки для соединения с базой
    source lsParentSource
    {
            type            = mysql
            sql_host        = localhost
            sql_user        = root
            sql_pass        =
            sql_db          = livestreet
            sql_port        = 3306
    

  5. Правим префикс таблиц. В моем случае я заменил все вхождения prefix_ на пустоту. (6 замен)
  6. Индексацию будем делать под пользователем sphinxsearch, для этого надо ему выставить /bin/sh в виде шелла
    chsh -s /bin/sh sphinxsearch

  7. Запускаем индексацию из-под юзера sphinxsearch
    su sphinxsearch -c 'indexer --all'

    Индерксатор не должен выдавать ошибок, и должны появиться файлы индексов в папке /var/lib/sphinxsearch/data/
  8. Запускаем искалку
    service sphinxsearch start

  9. Проверяем, что поиск работает. У меня заработал.
  10. Ставим переиндексацию на крон. Для этого редактируем кронтаб для пользователя sphinxsearch
    su sphinxsearch -c 'crontab -e'

    Выбираем редактор и вводим такие таски
    12 */3 * * *  indexer --rotate topicsIndex > /dev/null 2>&1
    */50 * * * *  indexer --rotate commentsIndex > /dev/null 2>&1

Идёт дополнительный набор в состав проекта

Доброй ночи, уважаемое сообщество.

Думаю, меня уже узнают благодаря моим топикам раз и два.

В таком случае, не буду лишний раз представляться и скажу лишь по существу — в набирающий обороты современный проект LA-REVUE MAG (by LA-REVUE MEDIA) в настоящее время идёт набор в состав.

Читать дальше →

Пренос елементов в sidebar

Пподскажите как преместить
— логин с менюшкой
— аву
— индикатор новых сообщений
— кнопку создать топик и поиск в sidebar
или хотя бы хоть что-то из этого списка

Вот скрин того что надо переносить sidebar



Что вырезать и куда его втулить, заранее спасибо за коменты

Разыскивается срочно иллюстратор \ дизайнер

СРОЧНО ищется иллюстратор в команду проекта.
Подробности — в личном общении, писать здесь.
Сразу скажу: в обязанности входит отрисовка элементов дизайна для материалов, коими могут оказаться графические ухищрения любой сложности — от рисованных очков Рэй Бэн до выведенной фигуры человека с пистолетом в руках.